I'd suggest not using modifier add operator and use `modifiers.new(name, type)` instead.  Avoids hassle of changing the active object and also if using the op to add a second modifier of the same type, would need to access it via `obj.modifiers[-1]` as it will be named "Solidify.001" or somesuch.

    import bpy
    context = bpy.context

    obj = context.active_object
    # add a solidify modifier on active object
    mod = obj.modifiers.new("Solidify", 'SOLIDIFY')
    # set modifier properties
    mod.thickness = 0.1
    mod.use_flip_normals = True
    for o in context.selected_objects:
        if o == obj:
            continue
        # see if there is already a modifier named "SelectedSolidify" and use it
        mod = o.modifiers.get("SelectedSolidify")
        if mod is None:
            # otherwise add a modifier to selected object
            mod = o.modifiers.new("SelectedSolidify", 'SOLIDIFY')
        mod.thickness = 0.3