Boolean difference not working
Your HOLE PUNCHER NOPE object seems to be a pretty much a revolution object, it could be easily and cleanly modeled by drawing a simple profile and using a screw modifier.
That will yield a cleaner consistent geometry that will be error free and less prone to errors using boolean modifiers

Recreate your object from scratch by draw a single continuous bi dimensional edge profile by extruding from a single vertex and tracing over your existing object with snapping to make it easier. Then you can add a Screw modifier to it.



Recalculate the normals on your "BOTTOM" object, add the Boolean modifier and it should work.