How to remove inner faces generated by union boolean modifier? I know it is possible to select by trait interior faces and remove them, but when I am using modifiers, without applying I would not be able to do so, is there any way to clean the mess union modifier generate?

Sample: puzzle.blend
there is new boolean algorithm in blender, so use the exact option in the boolean modifier if you are in b3d 2.91 to remove that overlapping geometry, but in 2.83-2.9 or older you have to remove those faces manually after applying the modifier...