Short answer:
Whether software is "free" (as in freedom) depends on the licensing terms, and the software owner is allowed to license it to different users under different terms.
Longer answer:
A license that allows noncommercial use only is not a free license because it violates "The freedom to run the program as you wish, for any purpose (freedom 0)."
If you received the software from someone else under the terms of a free license, any redistribution must be consistent with the free license's terms. Thus, you cannot limit the purposes the software can be used for; you cannot apply a "noncommercial use only" restriction.
However, if you yourself are the software owner, you can license your software however you want. You are allowed to give it away or sell it under terms of your choosing. For example:
- You can sell the software to some users under a free license.
- At the same time you can give away the software to other users under a nonfree license, such as a "noncommercial use only" license.
So it's possible for the same software to be free for some users and nonfree for others.
But, as mentioned in other answers, if someone receives software under a free license, they can redistribute it at will, thus making the software free for anyone who receives it from them.
Two more points:
- Calling a free license a "commercial license" is kind of unusual, so it could be confusing to those who receive the software. Calling it a "license to use for any purpose" is more clear -- but it's probably best to just describe it as a free software license.
- Also it's important to make sure to specify which free license is being applied (GPL, MIT, etc.)