Quick history lesson:
Some years ago, this was how things worked:
1024 bytes = 1 KB
1024 KB = 1 MB
1024 MB = 1 GB
...etc.
However, hard-drive manufactures, for some reason (negligence, lack of understanding, cheaper, it doesn't matter), used this system:
1000 bytes = 1 KB
1000 KB = 1 MB
1000 MB = 1 GB
...etc.
Now, this was obviously confusing, and got a lot of people up in arms, since 1GB to a manufacturer was almost 7% off! (1 Billion bytes vs. 1,073,741,824 bytes) That's a difference of almost 74 MB for every GB! And when you go to Petabytes, it's almost 13%! (For the record, I think we have better things to argue about)
The hard drive companies eventually began to get in trouble for this, as it was technically false advertising (welcome to America), and so, they could only do one thing: change the definition of KB to their definition (even though the other definition had been around far longer than theirs), and change the original definition of KB to a new word and abbreviation: Kibibytes, or KiB.
Now you had this:
1000 bytes = 1 KB
1024 bytes = 1 KiB
1000 KB = 1 MB
1024 KiB = 1 MiB
etc...
So, yes, the official standard is KB-1k bytes, and KiB = 1024 bytes, but this has nothing to do with the metric system, and no one really followed the switch-over because most people in a position to care and enforce it thought it was inane at best.
In short, American consumer protection laws, combined with bad business practice, and a some excuses revolving around SI units are the reason that this discrepancy exists. KiB is technically the current prefix for 1024 bytes, but few programmers care enough to change to the new standard, since it has no practical impact, and requires a shift of mindset that could be better used elsewhere.
You can read up on it in the wikipedia article here, if you're so inclined:
https://en.wikipedia.org/wiki/Kibibyte.
Last thoughts: I would suggest not opening up this can of worms, since the argument is still pointless, and it's actually, in general, more confusing to consumers and programmers alike if you use the newer standard. This is why, if you ever need to be completely un-ambiguous, just state it in bytes. If you say items with the KB,MB,GB prefixes, assume that others will automatically think 1024, not 1k. And if you use KiB, MiB, GiB, expect a lot of confused stars, and, if you're lucky, a Men in Black joke.