Every bike I have ever owned has an overzelous speedometer, and here is why.
You will find with a fresh set of factory tires, the reading will be much closer, but as your tires wear on a bike (much more so than a car) your speedometer will suggest your going faster than you are, due to the slightly faster rotation your wheel will turn because of the smaller diameter rubber that was put on when the bike was new. A Bike speedo becomes even less accurate at higher speeds when this happens. (You might be off 5% at 30 mph but 10% at 80 mph)
The manufacturers could adjust this, but this would mean that when you bike was new, you would actually be going faster than your speedometer tells you. This would open up a whole bunch of lawsuits with the manufacturers as people could claim they were speeding because of a factory flaw in the bike. (Yes, your honour, I was travelling too fast because Suzuki sold me a bike with a faulty speedo)
Do keep in mind, that there are not many lawsuits that happen because someone was going a bit slower than the posted speed limit, there have been many because someone was going faster however.
The principal is now different than when you change sprockets on a Bandit.