Boolean Difference failed - Give me an alternative
The problem is that your mesh is non-manifold, meaning you have holes on its surface, it can't boolean properly. To fix that, go in Edit mode, select the whole mesh, go in the Mesh menu > Clean Up > Fill Holes. Also you should recalculate the normals with a ctrlN even if it seems to work with bad normals. Then boolean with the Union mode and it works.