Any chance you have a gps you can clip on the bike to see exactly how far it is off.
There are a few ways to fix it but none may work. One is to drip a few drops of air tool oil into where the speedo cable screws in with the gauge off and facing down.
The other is to disassemble the gauge and clean everything up and retest.
If that doesn't work then you can take and move the needle on the speedometer to a point that works best for you. But it may read fast in the lower Mph or right on. you never know with mechanical things that involve springs and magnets.
I use a cordless drill and a corded drill to test mine. The cordless drill is 750rpms and the corded is 2500-3000. I know if I run the corded drill up all the way it should equal 65mph.