um, mmmm, booleans can be a tad problematic.
try converting to an editable mesh first.
make sure all the normals are facing in the right direction. eg turn of force 2 sided in your viewport and look around your model for anomilies. or apply the stl check modifier. delete this modifier when you are done.
fix all issues stl-check points out eg (double faces, uncapped, unwelded intersections etc.) basically you are just trying to make it as easy for the program to be able to tell what is inside and what is out.
now run the boolean, take an asprin and call me in the morning.
Te Anau