Простой ответ заключается в том, что язык разработан таким образом.Вот выдержка из документации, подтверждающей это:
6.10.1 Сравнение значений
Число встроенных числовых типов (Числовые типы - int, float, complex) и стандартных типов библиотек фракций. Fraction и decimal. Decimal можно сравнивать внутри и между их типами, с ограничением на то, что комплексные числа не поддерживают сравнение порядков.
Другими словами,мы хотим, чтобы разные числовые типы с одинаковыми значениями были равны.
PEP 20
Особые случаи не достаточно особенные, чтобы нарушать правила.
Хотя практичность превосходит чистоту.
Какая выгода в том, чтобы делать числовые типы несопоставимыми, помимо усложнения жизни в большинстве распространенных случаев?