The normals on your main object are all flipped. To see them, enable the checkbox on the Viewport OverlaysViewport Overlays dropdown. (Red means they're flipped!)
Select the object and then ALTpress Alt-N > FlipN > Flip. You should find that the boolean works properly when you've corrected them.