Because Iran doesn’t want a full blown war.
Israel forced this Iranian attack as it has repeatedly demonstrated that it just doesn’t respect diplomacy and will keep pushing you unless you push back.
This is Iran pushing back with more force and consequence. But ultimately Iran doesn’t want a full blown war with Israel, which is why this attack was very focused on legitimate military targets rather than maximum damage as Israeli attacks have been in Gaza and Lebanon.
I think this is the last such warning and off ramp before war becomes inevitable. The first attack was a warning shot, this was the equivalent of deliberately giving a flesh wound. There are no further steps before you are fighting for real.
Iran wants Israel to take the off ramp, so it’s not doing follow up attacks. But if Israel strikes back hard, then there is no remaining opportunities left to avert a full blown war.
Fortunately, Israeli long range strike capabilities are surprisingly pathetic. So it needs active and massive US logistical support to allow it to reach Iranian soil with anything remotely approaching meaningful force, so America does have something approaching a veto. The big question is whether Biden decides to use it or not.
In a way, Biden getting soft coup’d out of running for re-election has strengthened his hand massively in his ability to stand up to the Israeli lobby, since he literally has nothing left to loose that they can leverage him with. So for a rare change, a sitting US president can make a let ME strategy decision based primarily on what is best for American national interests as opposed to Israel’s.
But then Biden having nothing left to loose also makes him dangerous and unpredictable if he wants some payback at Harris and co for couping him.