Your odometer is off 5% (0.5 off after 10 miles). So changing the stock 17T gear to a gear one tooth different is called for (see
Speedometer#Drive_Ratios). Then it should be about 1% off the other direction. Which would be better than expected.
So it is reading slow. Says you only go 95 miles when you really go 100. After the gear change I estimate it will say 101 for every 100.
Now the MPH is also incorrect, off by a lot more than 5%. So a needle adjustment is called for. This is tricky to do because it's easy to make it worse and I've only done this once. I would remove the needle, put it back on about 7mph different. But you need to hold the shaft still when you do this. Very easy to break it. If you want to try it, like this:
1. Remove dash. See
Dashboard removal2. Unbolt speedometer
3. Carefully bend back the tabs that hold the center cap over the needle (center of speedo). Remove cap
4. Move needle to 30 MPH and hold it there with needle nose pliers
5. With your other two hands, carefully wiggle needle hub until it comes off
6. Assuming shaft hasn't moved, put needle back on at 23 mph position
7. Test
Hopefully it will read OK now at 30mph (with gear changed). Now if it is OK at 30, but off at 60, we'll have to think about this some more...
Don't trust me here. I've only done this once and my speedo though slightly better is not reading right yet, specifically it doesn't go all the way down to zero.
Any experts out there to give us a hand or more ideas?