I'm afraid I have no wonderful explanation like Ursa could undoubtedly give you, so you'll have to take my word for it -- or not.
Perhaps Ursa or TJ will come along and rescue me....
* Wonders why TJ isn't around when you need her.... *
Actually, I have no idea, though I disagree with HB that it reads better without it. But if forced to suggest why, I think it may relate, very vaguely, to something about the handling of phrases in sentences. Look at the the previous sentence and, in particular, the words, very vaguely. One could remove them without altering the meaning of the sentence. It's the same with the next sentence, where one can easily remove the words, in particular.
The word, Charles, in Hope's sentence could be discarded. It isn't part of the main meaning of the sentence, as can be seen when one moves the indication of who's being referred to into the narration:
She turned to look at Charles. “You have absolutely no imagination. That’s always been your problem! I’m going to live with the horses.”
And so, if pushed, I'd say that the name, Charles, needs to be separated from the rest of the sentence with a comma, because it's a disposable part of that sentence. Possibly.
But I will agree with HB that this is a convention, whether or not it's based on grammar. And a convention that's followed in just about all the books I've ever read, which suggests that if one is to abandon the convention, one had better do so with some obvious purpose in mind; otherwise the reader could very well suspect carelessness or, worse, ignorance of what they might see as basic grammar (even if it isn't).