Make laziness the default would be a breaking change for any code that expects/relies on side-effects.
Any previous usage of Enumerator would need to be examined and tested. The "safest"/"sane" approach is simply to keep the non-lazy behavior as the default - while providing a Lazy alternative.
Some fundamental/previous design decisions are not so easily discarded; Enumerators are supported as far back as Ruby 1.8.7.