I might be necro-posting here, but I find this interesting. The problem with the "proof" is that it tries to pass off the English language as a formal mathematical language. By what standards do we decide if a sequence of words unambiguously describes a natural number? Are those standards semantic or syntactic? Let's break it down.
If certain sequences of words unambiguously describe natural numbers, let S be the set of those sequences. Define the function f : S → N that maps each such sequence of words to the natural number that it describes. Your claim is that f is surjective. Your "proof" is as follows:
1. Suppose f is not surjective. Then it misses a non-empty subset of N.
2. Any non-empty subset of N has a smallest element.
3. Thus we can define n as the smallest natural number that f misses.
4. But now f(the smallest natural number that f misses) = n. So f did not miss n, a contradiction.
5. Since assuming that f is not surjective leads to a contradiction, that assumption must be false.
6. Hence f is surjective.
This rewording of the OP should make it clearer. Notice how the phrase "the smallest natural number that f misses" is used semantically in step 3, but syntactically in step 4. If we did invent a formal mathematical language that allowed such syntax, then we have only used that piece of syntax once in our "proof". So we could just replace it with any other piece of unused syntax by argument of symmetry. Our language, our rules:
1. Suppose f is not surjective. Then it misses a non-empty subset of N.
2. Any non-empty subset of N has a smallest element.
3. Thus we can define n as the smallest natural number that f misses.
4. But now f(Mynd you, møøse bites Kan be pretti nasti...) = n. So f did not miss n, a contradiction.
5. Since assuming that f is not surjective leads to a contradiction, that assumption must be false.
6. Hence f is surjective.
By now it is made clear that step 4 is technically just a second assumption rather than a justified conclusion.