And
SPREAD = 3 # blocks
is not tell that max 3 blocks can be paid?
As far I understand, every share is valid 8640 shares of time but up to 3 blocks found in mean time.
So if we will found more than 1 block per day, and your power is not enough to get more than one share per 3 days you will not get payout from every block.
No, it is not a hard limit of 3 blocks, it is 3 times the average work required to solve a block. In other words, if the average time to block is 8 hours, then your shares will fall off the payout after 24 hours. So, if p2pool happens to get lucky and solve 10 blocks in that 24 hour period, your share will be paid for all 10 blocks.