It may seem strange that England gets such odds from the bookmakers, but that story has 2 sides. On the one hand, England have achieved absolutely nothing in the last 30 years while having the best competition in the world. And all/most top players play in the English league anyway. Just look at teams like City and Liverpool, and also United and Chelsea. Still, the chemistry isn't there when they play as a team. Last year they were almost European champions, but they have not shown more in recent years.
It is hard to compare the level of a national league with the quality of its national team. EPL is the best league in the world but many top players are foreigners.
City have them 2x more than English players. Same goes for Liverpool and Chelsea... with brilliant players being foreigners.
Besides, you can have many top players but you cannot make them play coherently as a solid team which will turn to be a total failure.