Because it's just one global instead of constant space added to all the closures/stacks. One map of symbols to values, not a whole world of them. If I had to guess.
some implementations of dynamic scoping with shallow binding store each of the three values in a separate cons cell, doubling the space cost, but that's not essential to the dynamic/lexical distinction