Кортеж это упорядоченное конечное множество элементов. Запись это именованное неупорядоченное конечное множество элементов.
Если ты присваиваешь элементам кортежа наименования, по сути ты вводишь псевдонимы. Это ничего не меняет в кортеже, первенствующая сущность это по прежнему порядок. В том же SQL ты можешь делать union и он оперирует исключительно позициями столбцов, а не их именами.
В случае с записью порядка нет априори. Имя это единственная возможность обращаться к элементу.
Если говорить об операции сравнения, я бы предложил выкидывать исключение, если сравниваются два кортежа с именованными полями, названия которых не совпадают (конечно должна быть возможность переименовать или просто убрать именования с полей в рамках системы типов, если программист всё же хочет их сравнить). Сравнение же идёт по индексу.