as I can see there is only one way to get new heroes - I need to buy them at the shop.
Since stats advantage of heroes gives your army a buff for every single point of stat over your enemy, it makes huge advantage for players who bought more heroes.
In that way - if i battle the same army as mine, but opponent has more heroes with some very_nice_buyable_items - he has 20% more hp, more dmg and attack speed.... Don't mention some super-powerfull-skills... It is pure pay-to-win...
Maybe introduce some nice - but very hard to deal with - quests, where u need to achieve some goals to get hero that you actually need ?
Make the game equal for everyone, but let the players choose which way they want to play - hard way, or easy way?