One word, expense.
I think it's good that the RN recycle old names thus maintaining a link with the glory days of the past. I always preferred names like HMS Victory, HMS Vengeance, HMS Vanguard, rather than naming the ships after Royalty.
I think I remember Adolf Hitler expressly forbidding any ships to be named after himself in case it was lost at sea and affected morale. The same argument could be applied to these ships on a somewhat lesser scale.
HMS Churchill I can understand but HMS Thatcher?!? Having a laugh surely
Why not have HMS John Major and HMS Tony Blair while you're at it!