If I may make a suggestion, put those stacks of 2 blocks in groups of three, in triangles about 4" apart. Creates many more gaps, nooks and crannies for fish to hide. I might even drop a few large pond rocks inside the triangles.

As far as how much habitat? You would have a difficult time building too much. But various types and various depths adds a lot of variety for the fish to choose from. Shallower depths closer to the shore is usually better for me.