Here is how I would do a party of wizards:
1. Bladesinger 1 (melee damage) - mountain dwarf (trade axe for greatsword) - GWM, ASI, ASI - S20/D14/C16/I10 at level 12. Green flame blade, half plate, spam shield and absorb elements. GWM greatsword GFB+ GWM attack. Never uses save spells, never uses bladesong, uses polymorph when at low hps.
2. Bladesinger 2 (melee defender) - human- criminal background - fey touched (bless), ASI, ASI, ASI D20/I18 level 12. effective AC27. GFB+Rapier on attack. defensive spells are protection from good and evil, blur, mirror image, haste. This is also the guy who casts evocations and "big bang" spells.
3. Bladesinger 3 (ranged/blaster) - high elf (trade longsword for hand crossbow, shortbow for heavy crossbow) urchin background- magic adept (hex, EB, mind sliver), sharpshooter, ASI D18, I16 level 12. crossbow(SS) + 3xEB + 4xhex every turn. When he casts, he generally casts buff spells (haste, fly etc). If enemy gets close he goes into bladesong and retreats (take AOO) or he casts misty step. Uses mind sliver on extra attack sometimes to facilitate follow up spell from #4/#5.
4. half elf Enchanter (face) - fey touched (bane) ASI ASI I20/Ch18 casts control spells and buffs on melee characters
5. human diviner (investigator) - magic adept (guidance, spare the dying, healing word), ASI, ASI, ASI I20/W18. Casts save or suck spells.