As to beefing up the heart, I'd throw in a few helmed horrors, maybe trade spell immunity for False Appearance or something. 10 flying swords with some extra damage just doesn't seem like much of a threat for 7 PCs. 10 flying swords with extra damage and like 4 helmed horrors sounds much more appropriate of an encounter. Or, you could add 10 animated armors who were previously wielding the flying halberds. Animated Armors are only CR 1, you have 7 PCs man, swarm the crap out of them. Maybe have 8 halberds, 8 armors, and the heart produces a helmed horror (like, it forms from the crystalline structure of the heart, and then jumps onto the stairs where the PCs are and starts tanking the tank while the 16 other creatures harass the whole party (a helmed horror, 2 halberds, and 2 armors on the main tank, 2 halberds and armors on the main healer/off tank, and then everyone else has a halberd and armor attacking it. Definitely double the heart's HP, 50 hp is like a round of damage from a GWM barbarian and any rogue. Or, give it some kinds of immunity (piercing and slashing shouldn't do much to a crystaline structure, same with fire, cold, lightning, etc.) and vulnerability to a few types (bludgeoning and force damage on the other hand would mess up the crystalline structure of the heart, it's definitely evil, so throw radiant in there too). That way the players have to deal with the fight before them, and try and figure out how to destroy the heart which was previously have a couple of PCs hit it's low AC for like, two rounds, tops.