Selection of object using command not working
You can add modifiers without using operators or relying on what is selected.

import bpy

# this creates Object1
bpy.ops.import_scene.obj(filepath='Object1.obj')
# this creates Object1.001
bpy.ops.import_scene.obj(filepath='Object1.obj')

obj = bpy.data.objects['Object1.001']
m = obj.modifiers.new(name='cutting modified obj',type='BOOLEAN')
m.object = bpy.data.objects['Object1']
m.operation = 'INTERSECT'