Отчасти сложилось исторически. Ведь программисты и компьютеры работают с байтами. А вот телеком оборудование работает с бодами и битами. Пример: стандарт 100BASE-TX кодирует сигнал по алгоритму 4B/5B (добавляет 5 бит для отсутствия долгого сигнала на линии). Уже расхождение с байтами.
Отчасти маркетинг. Раз сетевое оборудование работает с битами — компании провайдеры не переводят величины и пользователю кажется что канал будет больше, чем он видит сейчас в download speed.
А в килобайте и есть 1000 бит. Точно также как в килограмме 1000 грамм. Приставка кило- означает х1000. Это глобальный мисспелл ;) На самом деле 1024 байта — это кибибайт.