Так сложилось по историческим причинам и для удобства использования.
1) Раньше текстуры имели размеры только кратные степени двойки, потому перевод из флоат в целые был простейшей операцией ничуть не медленнее чем целочисленные вычисления.
2) Раньше и очень долго не было прямого доступа к реальному размеру текстуры, потому нормализованное значение давало удобство доступа через относительные координаты, т.е. ты мог менять размеры текстур на лету не меняя остальной код что давало прирост производительности, т.к. для отрисовки объекта в далеке ты мог использовать маленькие текстуры и меняя их размер в автоматическом режиме увеличивая их размер при приближении.
Собственно говоря, если ты будешь реализовывать софтверный рендер то тебе станет понятно что такое задание координат тем более для текстур с размерами кратными степени двойки будет удобно со всех сторон и со стороны разработки и со стороны использования.