I have tried to find a solution to my problem online, but nothing seems to be helping. I am trying to use the boolean modifier to cut complex shapes into my mesh, but it is merging the meshes rather than cutting one using the other. Any and all advice is appreciated. I have attached the file for your viewing.
First of all, I suggest you work with a lot less subdivisions, and use Smooth shade to hide the hard edges (Right Click -> Shade Smooth). I reduced your number of subdivisions to 1 and the Boolean worked fine, you'll also need to apply the Mirror modifier first.
Also, try changing the geometry of that concave section (the top part of the "cutter") as it's producing very fine geometry when subdividing, I assume that was the problem here.