Constitutional answer:
Because local government is meant to be completely independent of national government.
'Real world' answer:
Because the major political parties wouldn't want the risk of a major gaff by their mayoral candidate ruining their electoral chances in a general election. (e.g. David Cameron's spin doctors might be succeeding in convincing the electorate that he's almost a saint when Boris Johnson commits one of his frequent gaffs, thus showing the Conservative Party in a poor light).
Chris