You can release code under however many incompatible licenses as you'd like, as long as you own all of the code in question.
You could choose to only grant GPL licenses directly to non-profits. They would be free to pass along the same rights to commercial entities, if they chose. It's possible that in a practical sense this would present enough of a hurdle for larger companies to prefer to pay (but plenty possible that it would not).
It is also possible to grant other licenses for situations where the GPL prevents some particular for-profit activity - that kind of approach is presently making some people some money, although the incentives can be weird.
However, everyone who has received your software under the GPL can sublicense it to the people who you denied the GPL to. You can't forbid it, but they don't have to, and you can nicely ask them to never sublicense it.
This method also only works if the copyright if fully owned by a single person or entity, with all code contributors signing a contributor licensing agreement to give away their copyrights to a single entity. This is problematic because now there is the possibility that this single entity gets bought out by an evil corporation (say, Oracle), which can choose to continue developing the project without releasing the modifications under an open source license.
As they are with the GPL so long as they don't distribute the modified code outside of the organization.
Contributing to the community is all good, but you know, eating is slightly higher on the priority list.
This is against the GNU GPL license terms. One can't conditionally license some code under GPL. Ie, a software released under GPL can't be restricted for some purpose (here, 'for non-profit').
The "no string should be attached" is for good. Say for example, a project says "For people to help learn writing code, I'm licensing my project under MIT License," it would be wrong to not release the source code (and only the binary) even if the code is in MIT license. Because that is the purpose why the developer choose MIT for his/her project.
IANAL, but some corporate may be able to turn such carefully crafted words into money with their pricy lawyers. Most of the people are unaware of this. And for this reason, GPL can't be done the same way.