Who is fixing the Going Merry?
It was fixed by a Klabautermann.


  A Klabautermann is said to be a water spirit (or fairy) that dwells on ships and is basically an incarnation of a ship that has been well cared for. It is a merry and diligent creature that is said to warn sailors when a ship's in danger and help in bigger ways sometimes. They are normally considered to be only a legend among seafarers.


It is explained later in Episode 247 (Chapter 351 of the manga)


   Franky hears by Usopp about what happened to the ship and in particular to the fact on Skypiea you mentioned and explains him about that creature he knows from legends.


For more information about the klabautermann folklore itself you can look at its Wikipedia page.