My boats are painted but the buildup of mineral deposits (water spots) is an ongoing battle in the rivers & lakes I frequent. All the soap and water in the world won't take it off. My answer is "Lime Away". I have a small automotive squeegee that has a narrow foam sponge on the backside. Like you find at a gas station for cleaning your windshield - photo at the bottom. I apply Lime Away from a bottle with a squeeze cap - not spray - and use it to wet the sponge. I then just run the sponge over the hull surface. No scrubbing is needed. Let it sit for about a minute and spray it down with fresh water. The buildup is gone.
Also, I have a similar problem on the outboard engine's lower case. The heat seems to make the buildup worse as it tends to cook it on. Here I use Lime Away in the spray bottle and allow it to sit for 5 or 10 minutes. It foams like crazy when it hits the buildup. Often it needs a serious scrubbing to help the process and a second or third application to get it all off. But it does work.