The downside is too strong
This answer is coming from someone with the controversial opinion that haste is a terrible waste of a spell slot (unless for some reason moving really quickly is important, and even then expedient retreat potentially covers that for the wizard).
I already refuse to cast haste as a wizard, or have it cast on me as a melee character because spending a round stunned in combat is a price that I find far too steep.
Using the standard spell; for the cost of an action and concentration (caster) you are giving a fighter maybe a 33% damage increase (Lets assume 1d10+5, so around 11 damage per round). That damage increase is less if your fighter is already dual wielding.
Instead your wizard could cast slow, with a significant chance of having a massive effect on combat and a vastly reduced amount of incoming damage. Or they could cast fireball, and lets assume the average combat lasts 3 rounds they only need to hit 3-4 targets to cause as much extra damage as that hasted attack will over the course of the full combat, and fireball doesn’t take concentration – plus frontloaded damage can take out the minions faster which reduces incoming damage and makes the adventuring day easier because less hit dice and less healing spells are needed).
However your fighter is now incredibly vulnerable because your squishy wizard with potentially 13 AC just needs an arrow fired at him to disable them for a round. Losing that round once every few fights actually decreases efficiency despite the hasted action, and that isn’t even counting the opportunity cost of the wizard picking fireball, or the cleric casting better spells because they no longer have to keep slots to heal people.
You are giving pretty small advantages (yes it might push bounded accuracy, but on a player already pushing those boundaries the real issue is the player not your spell), and doubling that downside.
Adding the extra attack is potentially useful, but again at 4th level you could polymorph someone into a t-rex and not only save incoming damage (allowing your cleric to blast or disable enemies instead of healing), but that t-rex is causing all sorts of damage and panic in the enemy ranks. You could also upcast fireball, again only needing to hit 3-4 enemies to cause roughly the same amount of damage.
I would say that if you like haste, then this probably feels as balanced as haste does, but I would also say that if you like haste then balance isn’t actually what you are looking for.
To ‘fix’ it?
As I said your upcasting options are not as powerful as you think, they are in keeping with the theme and basic power level of the spell, but your downside is too much. I would just keep the single round, keep the same upcast options, and call it ready for playtesting.
The best use of haste (imho), giving a rogue an extra chance to sneak attack with a held action, is not going to be buffed at all by upcasting because even if they could use 2 attacks on that held action via the spell, they only sneak attack on one.