Это сделано для того, чтобы сделать все объекты единообразными. Если я пишу код C, который обрабатывает возвращаемое значение из функции, я должен увеличивать и уменьшать счетчик ссылок на этот объект. Если функция возвращает мне True, я не хочу проверять, является ли это один из тех специальных объектов, чтобы знать, нужно ли манипулировать его счетчиком ссылок. Я могу относиться ко всем объектам одинаково.
Путем обращения к True и False (и None, кстати) так же, как и ко всем остальным объектам, код на С намного проще.