Buckingham Palace 'must do better on diversity'