I often hear both used to describe a person or a person's action. The direct translations aren't the same, but from my experience, when used in context, I can't tell when to use one over the other. What are the differences?
夸张 (kuāzhāng) simply means Hyperbole, Exaggeration.
As in, your friend told a story that was too
Or if someone is acting ridiculous, crazy, or flamboyant (in a funny way, not in a mean way), you could say they're acting 夸张.
过分 (guòfèn), as you can tell from the two characters 过 (overstep), 分 (portion, point)... that they've overstepped their points/ or overstepped their boundaries.
Something helpful for me...
When the translations of words are similar (in the case of 夸张 and 过分), it always helps to break the word into parts as I described above. That helps for two reasons:
They both mean "excessive" but 夸张 is less pejorative.
夸张 literally means "long in praise," and has the connotations of "a little too much." Think of a glass of water that is filled to "overflowing," so a little bit spills onto the table.
过分 has the connotations of "over the top," "crossed the lines," etc.
And in best case scenario, you could be exaggerate too much and make people feeling annoying, then you would be "过分夸张" ;-)