Now i haven't learned about this in a bit so i'm a little rusty but I looked into it and here's what i found: Sunspots are areas on the sun that look dark on because they are cooler than the other parts of the sun's surface. "The magnetic fields are so strong that they keep some of the heat within the Sun from reaching the surface." I really hope this helps, i'm not too great at this.
The first answer would be when charged particles from the sun hit the Earths atmosphere and turn into electrons. Then your next answer is the convection of the heat is similar to the suns. I hope this helps you out.
No, The magnetic north shifts overtime due to the rotation of liquid iron in the earth! So your answer would be No they are not always the same distance apart! Hope this helps :)