While attacking enemies your party adds maintenance to the stagger gauge and the elapse of time removes that maintenance. Commandos add the most, then saboteurs, then ravagers. Commandos add about 3s per attack, Sabs do about 2s, and Ravs do just under 1s per attack.
When you finally stagger the enemy, the duration of the stagger is twice the maintenance you accumulated before stagger. However this value will never be less than 8s or more than 45s.
duration : 8 <= maint*2 <= 45
So concretely if you have a Relentless Assault party (com/rav/rav) with 5 atb each, after 1 round you would have accumulated about 5*3+5*1+5*1 = 25s of maintenance, and since each turn takes about 7s the levels drops to 18s by the time the next turn starts.
Since the stagger is limited to 45s, you only need to acrue ~22s of maintenance before stagger to get the maximum duration.
Early game requires the use of commandos to maintain the duration, however once you enter mid game with 3 party members and 3+ ATB bars per party member, the commando role is no longer necessary. Saboteurs and Ravagers have more than enough maintenance and also charge the gauge faster than commandos. In late game the Commando role is solely for maximum damage. Not for maintenance pre-stagger.
Finally, during a preemptive strike all enemies start with 10s of maintenance.