I don't think there is any really good reason, but to a certain extent, it could be attributed to the presence of an additional syllable relative to the word "hero".
There is a well-known tendency in English for a single vowel letter (other than U) to be pronounced as a "short" vowel rather than as a "long" vowel when it is followed by at least one consonant sound and occurs in a stressed third-to-last syllable (or an earlier stressed syllable).
Another example to illustrate this tendency would be that genus is pronounced with a "long e" sound, but the related word general is pronounced with a "short e" sound.
I said this is not a "really good reason" because there are many exceptions to this tendency. For example, the word ego(t)ism is pronounced with a "long e" sound in the first syllable.
Sometimes this tendency is described as applying particularly to derived words, and called something like "trisyllabic laxing" or "trisyllabic shortening", but my understanding is that the exact theoretical analysis (and whether it is considered to represent some actual process of "shortening" that is part of the English sound system) is controversial. Another name that has been given to this tendency is "Luick's law".