Copy modifiers operator like many other operators in Blender works by taking data from the active object and then performing the operation to all selected objects.
If you select one object in the outliner and then another using Shift clicking, the active object remains the same, so it remains the first object selected, which in your case is the one that has no modifiers. If you then copy modifiers, the absence of modifiers is copied over from the active object to any selected objects. If you want to select and make the last selected object active in the outliner, you would have to Ctrl click it when selecting it or when it's already selected any other way. If you select your objects in 3d viewport, the last selected will become active in normal circumstances so it will act as you expect if you select your objects in the 3d viewport.
Note that active object is also not changed in 3d viewport when selecting in certain ways. For example if you select one object and then Shift drag select others.