The trick is that you don't need to threaten everybody, just any fork that gains traction and might be a viable open source project.
Otherwise stated, you don't go after every user, just the competition.
Sure you can fork it and license new code in a different way, but that’s not the same thing.
I’m not a lawyer but I’ve followed the “is it a license or is it a contract” thing for 25 years now. One important part of the confusion here is that a contract requires mutual consideration; unilateral “contracts” aren’t contracts at all. The long-term argument is that the source code is subject to copyright which implicitly would not allow distribution; the license is what grants additional permissions on top of what copyright does and doesn’t allow, and thus probably could be revoked.