One trick to cover the gaps that the paint bucket leaves at the edges is to make a copy of your artwork into a new layer. Make the original invisible in the objects panel (=close the eye) and reduce the stroke width to 0,5 px in the copy. They will be rendered 1px wide which is the minimum.
Fill the areas you want in the copy and delete unwanted parts.
Unfortunately, vector objects don't do "T" shapes – that is the reason, why you cannot join one curve to the middle of another. Basically each vertex can only have (up to) two neighbours on the path. So one way or another, you will either have to use some workaround (like expanding the fill) or change your work flow from the start.
All those extra lines are coming from Sketch closing the paths. All those shapes are just paths which are "open" because they don't complete.
This is a good round up of what paths look like and how they act in Sketch:
What’s Up With Sketch’s Scissors Tool?
I know the name is not directly associated to Paths, but still it's a great summary
One way you ...