What is wrong with my custom Entity form validation?
Documentation of ContentEntityForm::validateForm:


  Button-level validation handlers are highly discouraged for entity
  forms, as they will prevent entity validation from running. If the
  entity is going to be saved during the form submission, this method
  should be manually invoked from the button-level validation handler,
  otherwise an exception will be thrown.


Even if you don't use button-level validation this should be the cause for the exception. Did you call the parent method?

parent::validateForm($form, $form_state);


If you don't run the entity field validation in some way the exception is thrown.