Earlier quoted context omitted.
For the NSF at least, most grants are awarded for 3-5 years. When the last policy shift happened (all grant-supported publications need to be publicly released into the NSF's publication archive), it applied to newly awarded grants. 4 years should give most existing grants a chance to cycle out.
Why not make it effective for all new grants going forward tomorrow?
But existing grants are still around.