Because more heroes lead to more interesting and diverse matches. You can only do a finite combination with 8 demigods and their items, and can get old fast. Not so with 20+ demigods.
I'm going to have to disagree with you. During my time with WCIII, which eventually led me to DotA, I saw that quite a few of the Heroes were simply never used. There were merely a handful of Heroes played by the best players, and most of the community played using those characters. I can't put a percentage on it, but I'd guess at least half of the Heroes in DotA aren't used. So, this begs the question, why should Gas Powered Games bother making so many Heroes when they're going to be ignored once line between the "good ones" and the "bad ones" is drawn?
It's the same type of game, and this type of game needs a lot of heroes, not just 8-10.
Again, I'll have to disagree. This type of game doesn't need a lot of Heroes. This type of game needs Heroes based around different styles of gameplay and those Heroes need to be flexible in those roles to open up the gameplay. Instead of 90 Heroes, 45 of which are used and of which only 20 are actually different gameplay styles, I'd much rather 8-10 Demigods that can encompass the 20 different gameplay styles which ensures each of the 8-10 Heroes is more flexible and interesting to play within their alloted gameplay style. My opinion though.