Use the code again to invalidate the token

Using the code again will invalidate the issued token,why is it so?
Is there any reason for this?

Yes, it is defined in the OAuth2 specification and OIDC Conformity Test Suite.