В килобайте 1000 байт. Так что вопрос "почему" стоять не может. А 1024 байта в кибибайте. Это совершенно другая кратная единица, происходящая из другой системы счисления. Память адресуется двоичными числами, а чип памяти должен что то вернуть на запрос с любым возможным адресом. Для представления тысячи чисел надо минимум 10 бит. Но максимальное десятизначное двоичное число не 999, а 1023. Минимальное 0, так что всего таких чисел 1024. И что должен вернуть чип памяти, если в нём будет 1000 байт, а запрошен будет байт по адресу, например, 1021? Это не процессор, он не может бросить прерывание. Поэтому объём чипа всегда равен целой степени двойки, ближайшая к тысяче это 1024.
Похоже этот киби придумали на ровном месте. Хотя действительно неудобно когда размер килобайта строго не определен.
Классный ответ всё по полочкам