The simple answer is that there is a constraint on the total number of coins that will be generated.
In economy the fact that the supply of newly minted coins is either constraint by a constant rate at which they enter the market or, like in Bitcoin's case, even that the total number that will ever be in circulation be limited.
Due to how the amount of newly issued coins in the Bitcoin network is reduced over time the total number of coins ever issued will converge to 21million. Every 210'000 blocks (or 3.993 Years in expectation) the number of new bitcoins that are issued in the network is halved. The result is that we have a sum of a geometric series, with each step being multiplied by 1/2.
Hence in the first step 50 * 210'000 = 10'500'000 coins were issued, in the current step half of that will be issued: 25 * 210'000 = 5'250'000 coins and so on. The sum of a geometric series that halves at each step is exactly twice the first step, hence 2* 50 * 210'000 = 21'000'000. This was also discovered by Euclid, hence the name.
Notice that this is an infinite sum that converges to an upper limit. Due to rounding involved in the protocol the sum will eventually end and no new coins will be generated.
These numbers were chosen by Satoshi in his original proof-of-concept client and have not changed since. At some point the values would have had to be chosen anyway and his approach of choosing easy to remember numbers are just as good as any (210'000 ~= 4 years, 50 bitcoins / block initially so in total it would be 100 * 4 years => 21'000'000 bitcoins).
That is not to say that nobody ever criticized the numbers and constraints. Several early ideas were put out there and sometimes even implemented that changed key parts of what parameters are chosen, be it Litecoin that uses inter-block timings of 2.5 minutes instead of 10 minutes, or some schemes that instead of relying on a limited total number of coins ever generated preferred to constrain the rate at which coins are generated. Fact is that the Bitcoin network still is the biggest of them, and only future will show whether the choices are right.
As for the enforcement of the constraint that's a bit more complex. You see when you join the Bitcoin network you implicitly accept the underlying rules the Network works with. This includes among other things the parameters Satoshi chose. So if you misbehave, e.g., by creating a block that gives you a larger amount of coins than is agreed on, the rest of the network will not accept that and ignore your claim. In a certain way all users in the Bitcoin network reached a consensus about what is and what is not valid. Any change to the inner workings of the network would require a majority of the stakeholders to reach a new consensus about whether to accept the change. If you do not follow the decision of the majority you will create a fork and live on that. If more people agree with you they might join your network, and some alternative chains might even be able to survive for some time. So the constraint is basically enforced by the majority of the users (or their computational power share in the network).