How to separate meshes that are converged into a single object
Let me propose a different approach.
I believe the easiest solution is to recreate it from scratch.


Base bricks with two Array modifiers to make a wall
Apply both modifiers.
Select all > Separate by loose parts