How to create automatic different levels for a mob arena 1.13.2

You could have a single command block with your button and a command to check if there are no mobs left in the arena (tag them with arenaMob or something) and if there are none you increase their score in a currentLevel scoreboard: execute unless @e[tag=arenaMob] run scoreboard players add @p currentLevel 1. Then, for each possible level n you have a repeating command block checking for if the currentLevel of the player in the arena matches n and if it does you power a 'needs redstone' command block with a redstone block: execute if score @p matches n run setblock (some coords) minecraft:redstone_block. That command block and chained blocks coming from it spawn whatever mobs you need for the next level. Whenever they finish the level and push the button, the score increases and the always active repeating command block for the n+1 level powers the n+1 chain. Each level can only be done once unless you clear the redstone block powering the mob spawning chain. To do multiplayer you'd need to tag the player in the arena with arenaFighter or something like that and replace all of the @p's with @a[tag=arenaFighter]. Make sure to remove the tag when they're done fighting.