It does seem as if these mechanisms were put in place in a transitional time when non-executable stacks weren't completely "taken to heart", and it didn't seem like a big deal to default to what had until that time been the normal behavior of executable stacks, since the dawn of computing.