I think i found the answer in Sharetechnote (@Jaeku_Ryu) page that each stream of MIMO is generated by a sub-array and not by all antenna elements.
Please see attached picture and the link here:
https://www.sharetechnote.com/html/5G/5G_CSI_RS_Codebook.html
Hope this clarify all the doubts.
So if there are 8 streams for 8x8 DL MIMO there will be 4 subarrays generating them each subarray having a +45 and a -45.
Don’t know what was written in that book and I am not trying further to understand…