This is honestly a good question! English spelling used to be very consistent, and while it's fossilized now, words from the same source and time period (like read/read) typically have predictable pronunciations. So what gives?
First of all, the reason English vowel spelling is so unpredictable goes back to the Great Vowel Shift. Sometime roughly in the vicinity of Shakespeare, English long vowels shifted to new pronunciations—but by an unlucky coincidence, the spelling system had fossilized right before that. So we're stuck with old-style spelling for new-style vowels.
For the most part, the correspondence is straightforward (for native English words that went through this shift): "ou" is IPA
/aw/, "i_e" is IPA
/aj/, "oa" is IPA
/ow/, and so on. But one particular vowel didn't shift in a predictable manner: the long epsilon
/ɛː/, written "ea", which shifted to
/i/ in some words but not in others, with no rhyme or reason. That's why "near" and "bear" don't rhyme (they used to) and why "tear" and "tear" are pronounced differently (they used to be the same). Most likely, some dialects shifted it while others didn't, and it was basically random which dialectal form became standard and which died out.
In this case, it shifted in the present tense, but not in the past tense. Why? Nobody is really sure! One possibility is that the past tense actually had a short vowel
/ɛ/, which was written "ea" to keep it separate from the homophone "red". Or this shortening might have happened after the spelling fossilized but before the Great Vowel Shift. There just isn't really enough evidence to say.
So, the best answer I can give is: "it's a known irregularity in English". Unsatisfying, but there it is.
(P.S. As far as why "read" and "red" sound the same, that's a complete coincidence. English has a lot of words, and at some point it's inevitable that some of them will sound the same, just by random chance.)