>>106215192 (OP)
because you'd have to write a ton of stuff from scratch, not only for different architectures but for different versions of the same architecture with different sets of instructions (or just not support all instruction sets, or code to the lowest common denominator, missing out on specialized instructions), and any OS interaction (e.g. syscalls) would be different for different OSes
a transpiler would be full of nitpicky details and bugs and would probably end up reimplementing a ton of stuff that's already been implemented in various compiler backends, but not as well as it has already been done