What NN architecture to predict fantasy character names based on description?
First off, I think that since the goal of your model will be to generate new names based on a description, your model should work at a character-level and not word-level.

You can think of the level at which your model is working as the building blocks you are providing for it (it needs to learn them during training). These building blocks are than used for generation of new constructs. So if you want to construct new words (names) than you need to teach the model to understand the connection between the individual characters and the input description. Your model can deal with the input at a word-level but its output needs to be at character-level.

You can read more about it at: Besides Word Embedding, why you need to know Character Embedding?