Because /bin/sh has been the default shell for about 40 or 50 years. There are zillions of shell scripts out there which depend on the exact behavior of sh. Sure, if these shell scripts were well-written and portable, they should only depend on the exact behavior that is guaranteed by standards or traditions, like the POSIX.2 shell, or the 7th edition Bourne shell (the closest thing all Unix variants have to a lowest common denominator). Changing the behavior of the default shell would needlessly break things.
If BSD were not BSD, but a new operating system created from scratch, then using a new shell would be fine. But BSD is BSD because it is standing on a 40- or 50-year tradition of technical excellence. One of those traditions is compatibility.
And given that /bin/sh is in base, it doesn't matter what requirements it has ... they are by definition in base.