With the set-up you have, I believe there's not enough room, spawners want to place their monsters feet at either, one above, equal to, or one block below.
So with two high monsters, that works when it places it with their feet one block below, because their head isn't in your roof, but for endermen, if it placed them with their feet one below, their head would be in the roof, so it's classed as an invalid spawning location.