When I have come into similar situations, I like to simulate the fight.
You can use excel (or the spreadsheet tool of choice) to compare the expected damage output of each side (this requires that you decide which character attacks which). Subtract this value from the intended target(s) HP, mark off resources used (spells, potions, any other limited use abilities), and repeat the fight for the next round.
To calculate someone's expected damage, use the formulas included at the end of this post. Select the proper one (attack roll or saving throw) based on the attack being used.
This will give you the expected value of any one attack. Now you just need to run a simulation of the characters, and continue changing the NPC's until you get to the desired outcome.
Some misc notes:
To aim for a 50/50 chance, do your best to get it so that the winning side has almost no hp remaining.
However, I suggest aiming for the PCs having approximately their level worth of hit points left.
This calculation eliminates all randomness, and going straight to zero hp on each side means that the team who gets ahead (eliminates one character on the other side) at the beginning of the fight will likely stay there.
This method will give you decimal HP during the calculation. Do not round them off.
The provided formulas are for a single attack. In your calculations for the specific encounter, you will need to consider things like: Extra Attack, Two Weapon Fighting, Spellcasting resources (slots, components, etc...), Channel Divinity, Martial Manuvers, Wildshape, Bardic Inspiration, etc...
For any features that affect accuracy or damage, consider what they are most similar to, and combine them with that. As an example, Cutting Words reduces your opponents attack roll by 1d8 (average, 4.5). This is the same as reducing their To Hit bonus by 4.5. So when you think your PC would use cutting words, subtract that from their To Hit bonus before plugging that value into the formula. Be sure to do this for every instance of the item occurring.
I would suggest starting your NPCs at around level 8-9. This is a guess, but given the PC's greater action economy, I think that is going to be a good staring point.
Expected damage when using an attack roll
$$
\begin{align}
Expected \; Damage =\;
&\frac{(AC-To \; Hit-1)}{20} \\
& \times \bigg(\frac{(Damage \;Dice \; Size+1)}{2}+Flat \; Damage \; Bonus\bigg) \\
& +\frac{(Damage \; Dice \; Size+1)+Flat \; Damage \; Bonus}{20}
\end{align}
$$
Expected damage when using a saving throw
$$
\begin{align}
Expected \; Damage = \;
&\frac{\frac{(DC-Save \; Bonus)}{20} \times \bigg(\frac{(Damage \;Dice \; Size+1)}{2}+Flat \; Damage \; Bonus\bigg)}{2} \\
& +\bigg(1-\frac{(DC-Save \; Bonus)}{20}\bigg) \\
& \times \bigg(\frac{(Damage \;Dice \; Size+1)}{2}+Flat \; Damage \; Bonus\bigg)
\end{align}
$$