Mine isn't! - at 60mph (on the satnav) it is reading 60 on the speedo. Other speeds are a little out, but pretty much accurate all the way between 30 and 90 (which is where it needs to be accurate).
Of course, it wasn't always like that, and when I first got the car it was similar numbers to your results (except I never tried them as it was before Google Maps was around on a mobile phone). It is a simple (but awkward) thing to rectify...... and you only get one point where it can be 100% accurate, AND it remains so only until the tyres wear a bit, get replaced or change pressure!!!!
Basically, I set the tyres at the right pressure and drove at exactly 60mph - easy to do with satnav and a straight road, but was more difficult back in the day with a measured (exact) 1 mile distance and a stopwatch..... it took me a few passes to get it right, but now it is a 1 minute job of keeping a constant speed and then noting the exact position of the speedo needle.
If the needle shows 65mph at 60, then you need to remove the speedo from the cluster (after getting the cluster out of the car), dismantle it, and then manually move the magnetic disk until the needle indicates 65.......mark the position of the disc relevant to any point on the housing (sharpie pen)...... carefully pull the needle off the spindle..... align the markings on the disc/housing, and maintain that position whilst carefully replacing the needle whilst it points to 60mph marking..... reassemble the lot and test it again. It will certainly be a lot better, and at some point in the useable range it should be dead right - job done.