To your questions: You can not make closure consider these rectangles to not overlap. And you can not generate rectangles that cover all the space but to not overlap.
But you are going on this the wrong way. Just define which of the edges belong to which square – e.g. each square owns its top and left border. Now use closure to get all rectangles which touch a give point and ignore those where the point is part of the bottom or right corner.
Some notes though: The squares can’t own their full left border, as two squares share a pixel on that border. So a square does not own its bottom-left pixel. The way I explained the steps handles that, though. You also need to think about what you want to happen on the bottom right of your covered space. If your space is a multiple of your rectangle size, then you either have to add exceptions at the right and bottom corner or the rectangles there will be just lines, the one in the bottom right corner even only a single point.