가슴 = chest, heart, breast, etc. It basically refers to your torso in general
심장 = heart (literally)
마음 = heart, mind. This is a more figurative term to refer to your "self," or your sense of self, which is why the meaning between mind and heart can be interchanged.
Ex:
내 가슴이 아파. My chest/heart hurts. --> This means there is a pain in your chest or torso, literally.
내 심장이 아파. My heart hurts. --> This means your heart hurts, literally.
내 마음이 아파. My heart hurts. --> This is a figurative pain, like from loss or heartbreak. Your heart doesn't actually hurt because there is physically nothing wrong, but you still feel pain. This pain is psychological, which is caused by chemicals in your brain, your center for your "self."