Perhaps there are two hearts for each person? Maybe the curse split the people into different personalities giving them their weaker traits in “reality” because they don’t have the “right” heart and they can only regain who they are by finding their real one or their hearts desire? That’s a bit of a stretch but that was just something I thought of.