It's basically comes down to they aren't good enough. If they were they would be getting chances abroad. If the English players were good enough, there wouldn't be so many foreigners in the league at all.
Any league that demands a certain level of standard of player will struggle to fill it with players of one particular nation. Players playing for Fulham in the Championship make more than players playing for Rayo Vallecano for example.
Standards overall could be better, but it's not like every Spanish player currently active in La Liga would keep their place against equivalent highly paid foreign premiership players.