Earlier quoted context omitted.
What is the alternative, break the license or change your own? If I want to allow my library in closed code, I cant import GPL. Hence, I have to rewrite it. Rewriting Apache into GPL makes little sense, but is little work. You can just import it and slap GPL on top. You cant just mix licenses, because licenses disallow/allow activities.
Take a operative system like debian. It has a huge number of packages in every combination and mix of open source defined and free software defined license. It does not limit itself to only use code that closed code can use. The community embrace license diversity, and thus has very little "my-way-is-the-only-way". As a practice, if they can avoid writing their own stuff they do so, always look around them and see if…
You can legaly include apache in GPL software.
Following your theory, one would either have to break GPL and risk legal problems or exclude close source users of his work.