As
@JackJ mentioned, boat speedos are notorious for being inaccurate
I don't know how many times I had a small piece of debris get stuck in mine and had to clean it out. I finally gave up on it and just use the GPD on my console fishfinder to gauge speed.
I know that doesn't really answer your question about how to fix yours, but trust us... doing so will be a waste of your time and an ongoing struggle.