A British politician has admitted punching a man repeatedly after telling him, "You won't threaten your MP again", during a night on the town.