"There's no such thing as an absolute in pronunciation. Pronunciation changes over time, there are at any one time many accents, etc.. But some pronunciations are more prestigious (at a particular time and a particular place) than others.
The traditional prestige pronunciation of the letter name of 'h' is without a /h/ sound.
There are many accents of English (especially UK and Australian!) in which /h/ can be dropped even in stressed syllables, such as 'hat' and 'happy'. In almost all accents of English, in normal speech, /h/ is dropped in unstressed position ('I didn't see him' -- say it quickly and naturally and there's likely to be no /h/ unless you are saying 'I didn't see HIM -- I saw HER.').
So there is often some choice around /h/ for English speakers. It's also unusual for a letter name not to include its sound. Add these two things together and it's no surprise many people say a /h/ on the name for 'h'. It seems so much more logical, and the h-less one may sound as if the speaker is missing the /h/.
The pronunciation with /h/ is now very common, and can be said to be an alternative, but traditionalists would prefer the one without /h/." (Anthea Fraser Gupta, Senior Lecturer of Modern English Language at Leeds University)