The boat will have the following layers: fiberglass > gelcoat > oxidized wax and/or clearcoat. The stains are from material that has seeped through breaks in the surface layer. The "white chalky stuff" is old oxidized wax. Your goal is to 1.) surface clean 2.)strip all of that old stuff off down to the gelcoat 3.) clean out foreign matter 4.) re-seal. I would do the following...
1. Wash the boat and use a dilluted bleach mix to get rid of any mold/mildew.
2. If it's REALLY bad as you describe, use West On/Off which is a muratic acid. Do it at a self carwash place. Wear rubber gloves and a paper filter mask. The stuff is noxious and dangerous - and stinks like hell! It will kill grass and plantlife. You pour it into a cheap Tupperware and brush it on with a paint brush. DO NOT GET IT ON ANY STAINLESS STEEL! Work top of the hulls down. Let it sit for 10 minutes and then hose it off, top-down very liberally. At first, use a light spray so that you don't blast it all over the place. When you think you've hosed it all off, hose it all down again! And hose down the trailer too. Make sure to get it all off and down the drain. It will corrode steel, especially stainless steel. Once dilluted and down the drain, it becomes harmless so don't fret that you're poisoning the environment.
While it seems like scary stuff, and it is - it'll burn if it gets on your skin, it is acid. It's not going to harm the fiberglass or the gelcoat. But everything else will get taken off. You'll wind up with dull, but smooth and clean hulls with the original color of the glass. The Tupperware, brush, gloves, etc. all get put into a garbage bag and dumped. This is a one-time use stuff.
3. Wash the boat off one more time with simple soap and water.
Now you're ready to re-seal. After 25 years, I have had the best luck with PoliGlow.
http://www.poliglow-int.com/ This stuff is not a wax, it's a hard clearcoat that can easily be applied by hand. It's pricier ($65 for the kit) but that gives you about 3 applications and each one last about... TWO YEARS! I've only had to buy two kits in the past, what, 10 years? Simply follow the directions. Start with the PoliPrep and then apply the PoliGlow. You can apply it heavily, just be quick with the smooth, circular spreading it around because it begins to dry very quickly - within 60 seconds. You want to spread it out thin, thoroughly and in nice overlapping circles. It won't dry with any streaks like wax. You won't know the pattern you rubbed it on. The circular motion is just to make sure you covered everything. Again, multiple THIN coats are better than trying to shlopp it on once. Here are some pics of my last PoliGlow treatment that I did 2 years ago...
The boat with dirt washed off and ready to start the PoliPrep to strip it down to the gelcoat.
After the PoliPrep treatment. As you can see, PoliPrep does nothing to the graphics - but always test it first! Ready to re-seal with PoliGlow.
The finished product after two thin coats of PoliGlow. More thin coats 2-4 are better than one thick one. I have the boat up on 2x4's out of the hull cradles to get as much as possible.
This is not a wax that will dull and oxidize halfway through the season. It's a clearcoat like you find on new cars. A nice shine and one that lasts 2-3 years! When you want to bring it back to life, simply PoliPrep to strip it away and re-apply a couple of thin coats again. It took me about 3 hours to strip, clean and re-seal the hulls.
Hope this helps!