Короткий ответ: потому, что некоторые влиятельные программисты, стоявшие у истоков этой классификации – идиоты.
В самом деле, если вам дадут 10 килобайт долларов, т.е. на каждый реальный байт – 1 доллар, то, посчитав поштучно, вы получите именно 1000 долларов, а не 1024.
Причина заблуждения – неразличение числа байт и того, что это число может кодировать. Максимально 10 бит может закодировать число 1024, - отсюда и пошло, что кило применяется не 103, а 210, что является настоящим идиотизмом переопределения слова кило ==1000.
Т.е. Эта «К»
И это никем не подвергалось сомнению точно так же, как столетиями было грешно сомневаться в авторитетном заявлении Аристотеля, что у мухи 8 ног.
Мне немало испортило крови это обстоятельство, начиная с теста на собеседовании, когда меня поправили, что в килобайте не 1000 байт.