英語の歴史を通じて、発音は著しく変化してきたにもかかわらず、綴字はあまり変化してこなかったからです。
英語の音の種類(音素)は数え方にもよりますが44種類ほどあります。一方、英語のアルファベットには26文字しかありません。つまり、1つの文字に1つの音素を割り当てるという理想的な1対1の関係は、そもそも得られないのです。少数の文字を何とかかんとか使い回して、多数の音素を書き表わそうとするほかないのです。
質問者が挙げられた <a> という文字について考えてみますと、<a> をもつ次の単語の各々において、<a> は異なる音素に対応しています:cat /kæt/, gate /geɪt/, about /əˈbaʊt/, father /ˈfɑːðə/, also /ˈɔːlsəʊ/ 。ここでは5種類のみ挙げてみましたが、<a> が異なる音素に対応する例は、ほかにも挙げることができます。
現代の英語にみられるこの状況は、古い英語でも多少なりとも見受けられました。しかし、かつては現代よりはずっとマシでした。現代英語では <a> は5種類(以上)の音素に対応していますが、古英語の時代(紀元700年頃--1100年頃)には、<a> と綴れば /a/ か /aː/ かの2種類の発音しかなかったのです。
ところが、続く中英語の時代(1100年頃--1500年頃)、そして近代英語の時代(1500年頃--)にかけて、従来 <a> で綴られてきた /a/ や /aː/ の発音が、単語によって(正確にいえば単語内の音声環境によって)大きく変化しました。質問者のご指摘の通り、同じ <a> で綴られていても、その発音は「単語のどの位置あるかによってちがったり」してくる事態となったのです。
その結果、同じ <a> が、単語によって /æ/, /eɪ/, /ə/, /ɑː/, /ɔː/ など様々な母音を表わすようになりました。しかし、綴字としての <a> 自体は必ずしも発音と連動して変化せず、<a> のまま据え置かれることが多かったのです。発音は変化したのに文字は変わらなかったために、文字と発音の関係は時とともに崩れていったのでした。
ここまで <a> という1つの文字のみを考えてきましたが、ほぼ同じことが <e>, <i>, <o>, <u> など他の母音字についても起こりました。もっといえば、子音字にもおおよそ同じことが起こりました。英語の歴史を通じて、文字と音素の関係は、1対1に向かうどころか、乱れていくことのほうが多かったのです。