Simply put.....
There are 10 kinds of computer users in the world ...... those that understand binary and those that don't.
If you understand that comment, you understand why 1024 is correct.
The prefixes are standard metric prefixes, and in all cases, are defined as base 10. Just because somebody decided that 1024 is close enough to 1000 to call them the same thing doesn't make 1024 the right value (even if it is more convenient for computers).
Apples and oranges .... Chinese and Apache ......talking different languages. Byte is a binary term, not base ten term.
A binary kilobyte is 1.024 decimal kilobytes
A binary megabyte is 1.0486 decimal megabytes
A binary gigabyte is 1.074 decimal gigabytes
A binary terabyte is 1.1 decimal terabytes
"There has been considerable confusion about the meanings of SI (or metric) prefixes used with the unit byte, especially concerning prefixes such as kilo (k or K) and mega (M) as shown in the chart Prefixes for bit and byte. Since computer memory is designed with binary logic, multiples are expressed in powers of 2, rather than 10. "