Working on a slice & mirror modifier combo script (a la 3ds max). Unable to stack modifiers. [Beginner]
When you add the second boolean modifier, it is automatically named as Boolean.001, but then you change the properties of the first one you added, named "Boolean", by using bpy.context.object.modifiers["Boolean"].

Instead, add the modifiers like this:

    boolean_modifier = mirobj.modifiers.new('Boolean', 'BOOLEAN')


The first parameters is the name of the new modifier, the second is the type: bpy.types.ObjectModifiers

And then change the properties like this:

    boolean_modifier.operation = 'DIFFERENCE'
    boolean_modifier.solver = 'CARVE'
    etc...


This way, even if it's automatically renamed to Boolean.001, you will be editing the properties of the modifier you just added.
Same for the mirror modifier.