A verdadeira questão seria por que alguns outros sistemas operacionais não podem executar binários de 64 bits em um kernel de 32 bits. Não há razão fundamental para que isso não seja possível. A arquitetura do processador subjacente suporta tanto um conjunto de instruções de 64 bits (amd64 aka x86-64) quanto um conjunto de instruções de 32 bits (i386), e não há restrição para os dois serem usados juntos (em particular, não há "Modo de 64 bits" separado de um "modo de 32 bits"; há um único modo longo , que permite instruções tanto do i386 quanto do conjunto “nativa” amd64.
A execução de aplicativos de 64 bits em um kernel de 32 bits requer um pouco mais de trabalho dentro do kernel, pois ele deve gerenciar ponteiros de 64 bits para o espaço do usuário junto com ponteiros de 32 bits para o espaço do kernel. A maioria, se não todos, os ponteiros passados no kernel são conhecidos como sendo para o espaço do kernel ou conhecidos para o espaço do usuário, portanto, não é um problema se eles tiverem tamanhos diferentes. A principal dificuldade é abrir mão da possibilidade de ter um tipo de ponteiro universal que possua intervalos separados de valores para memória de processo, memória do kernel e memória usados por várias peças de hardware (incluindo RAM), mas isso não é possível em kernels recentes de 32 bits no hardware de classe de PC, se você tiver 4 GB ou mais de RAM, ou quiser mapear 2 GB de RAM mais 2 GB de espaço de processamento, mais memória de kernel e mais, você precisa ser capaz de mapear endereços de mais de 32 bits. ).
De acordo com o artigo da Wikipedia que você cita, o OSX tinha a capacidade de executar processos amd64 em amd64 processadores antes de ter um kernel de 64 bits. O Solaris também mistura indiferentemente os executáveis i386 e amd64 em processadores amd64, independentemente de o kernel ser de 32 ou 64 bits (ambos disponíveis).
Outros sistemas operacionais podem executar processos i386 em um kernel amd64 (64 bits), mas não em processos amd64 em um kernel de 32 bits, por exemplo, Linux, FreeBSD, NetBSD e Windows. No entanto, outros sistemas operacionais tratam amd64 e i386 como arquiteturas completamente diferentes, por exemplo, o OpenBSD.