This is a case where you have to read all of the GEDCOM spec, at least around DATE. If you look where it is acceptable to use DATE_APPROXIMATED, you will see
DATE_VALUE:=
[
<DATE> |
<DATE_PERIOD> |
<DATE_RANGE>|
<DATE_APPROXIMATED> |
INT + space + <DATE> + space + (<DATE_PHRASE>) |
(<DATE_PHRASE>)
]
which indicates that the DATE_APPROXIMATED cannot be used with DATE_PERIOD or DATE_RANGE, it has to be one OR the other.
I started the PR to fix this because someone posted a question about Gramps failing a GEDCOM validator; they wanted to make sure the validator was correct. The consensus was that Gramps is in error.