Actually gTLDs are restricted by their contract with ICANN (registry agreement (RA), search google for "ICANN RA"). ccTLDs however merely give lip service to domain registration norms, but as there is no contract beyond "this registry is yours to run" ccTLDs have far more leeway (public pressure sometimes withstanding) to do as they please. It is for reasons similar to this that a fair number of ccTLDs don't run EPP for example (running an EPP service is a requirement in the gTLD contract).
EDIT: further explanation of the gTLD registry agreement