Acetone
I have done a lot of fiberglass repair work on automobiles and boats, both with gelcoat finishes. I can tell you from experience, and from the science, that acetone will soften, and can dissolve gelcoat. It is the primary solvent used for thinning gelcoat, especially for spraying. It is used to wash damaged gelcoat areas for repair, as it softens and roughens the old gelcoat surface so that new gelcoat will adhere.
Sure, you can remove a stain from gelcoat with acetone, but if you're not very careful and experienced, you run the risk of softening the surface enough to dull it. It can usually be brought back with polishing.