It's not so much generous specs as it is ways of thinking.
Kilo=1000
As in 1 KILOmeter=1000 meters.
So the manufacturers rate the drives based on that spec.
But as you so adroitly pointed out, computers count 1024 bytes as a kilobyte, and so on.
Try having to explain this to almost every person who buys a computer from the shop you work at. I finally printed off a little explanation and packaged it in with every system