If you don't want your software used commercially, don't Open Source (or Free Software) it. Maybe a CC-NC license if you want to give it away for noncommercial use.
The rest of us will continue to use and make OSS and enjoy it without worrying about what others are doing with it.
But the GPL goes even further than that, and this appears to be the source of your confusion. The GPL stops people redistributing the software under terms that would restrict or prohibit use, including commercial use. The GPL guarantees that anyone receiving the software now or in the future has the same rights you have.
Companies like Microsoft with huge marketing departments hate the GPL because they don't like their users to be free. It's part of their business strategy to keep people locked in. That alone should tell you it's probably not for for you. Sadly you seem to have been taken by their bs, though.
Someone can absolutely fork your software and use it commercially. That's what FOSS is about: You shall not limit what other people can do with the software.
You may however restrict others from putting restrictions on derivative works of your software. That's what the GPL is all about. You enforce reciprocity and ensure that all works based on your software allow the user the essential freedoms of free software.
(Alternately, Google for people trying to get the full sourcecode to their Android phones from Samsung and see how difficult it can be).
Many human problems could be solved if humans were less willing to compromise with greedy people, but unfortunately authors are too nice in general to do that.
But you can also take a noncommercial GPL software, slightly modify and put your logo and name on it, do some marketing and get cash out of it without contributing anything significant. You just can't make it proprietary. But it's still an unfair situation.