I don’t think we could have made the assert message any clearer!
And no, it definitely wouldn’t be a good idea to allow the two things to be inconsistent with each other.
There are two methods because hosts need to know in advance whether there’s a GUI.
And if the methods do different things then either:
a) You’ve written an editor and it won’t be shown, and you’re probably wondering why not
b) You’ve told the host there’s an editor but you haven’t written one, and that’s going to cause problems
Either way, an assertion is the correct thing to do to tell you that there’s a mistake in your code!