Потому что редуцируются безударные гласные, и в слове она первая гласная - безударная. А в слове он гласная вообще одна, и она всегда ударная. Гласные под ударением не редуцируются практически никогда, и даже в слитном сочетании типа "да пошёл он" все равно произносится "дəпəшолон", а не "əн" и не "ан".
Это особенность произношения в русском языке. Такая безударная "О" в МФА обозначается символом ɐ (ненапряженное а) . 100%-го аналога этому правилу в других языках нет.