Unfortunately, there is no objective way of saying that a position is 'completely winning'. The rules of chess try to avoid subjectivity as much as possible. Consider the following example (which is related, but not directly pertaining, to your question):
- Player A is clearly winning against Player B. In practical terms, there is no way in which Player B could beat Player A, although in theory it is still possible
- Player A's flag falls, meaning that B wins the game
Obviously, this situation is not ideal. Player A was clearly winning, and yet they still lost the game. Now consider this related scenario:
- Player A is clearly winning against Player B. It is impossible for Player B to achieve a win against Player A through a legal sequence of moves
- Player A's flag falls, meaning that the game is drawn
In the vast majority of cases, there is no difference between these two situations, and it is unfortunate that in one case Player A loses, and in the other, Player A draws. However, declaring that 'completely winning' positions should also be drawn in this scenario opens up a Pandora's Box that makes the rules of chess much more difficult to enforce. The main issue is, how do you define 'completely winning'? Let's consider a couple of possibilities:
'Completely winning' means that the arbiter believes there is no conceivable way in which Player B could beat Player A, even if it is technically possible.
What if the arbiter misreads the position and doesn't realise that it is 'completely winning'. Or, even worse, they declare a position to be 'completely winning' even though Player B has many more chances than you might expect. Wouldn't one arbiter have a different interpretation to another?
'Completely winning' means that when the position is fed into an engine, it spits out +10.00 or -10.00.
Well, engines are giving an objective assessment of the position. A position which is in theory +10 might be much harder to win than a position evaluated as +2, but is in reality just a well-known theoretical endgame. Also, what engine do you use? How long do you let the engine inspect the position? The list goes on...
In summary, it is much harder to enforce 'clearly winning' positions instead of just saying, firmly and clearly: 'if it is impossible for a player to win this game, then the following rules apply...'
Applying these lessons to your question gives us the answer: allowing accidental resignations is the least worst option when it comes to enforcing the rules of the game. And yes, in practice, two knights vs a king should end up as a draw, and your opponent was very unlucky. But it is possible for two knights vs a king endgame to end in a win, and changing the rules of the game would have far worse consequences than first thought.