My question is in the title.
The swap chain need multiple images and I understand why, so it seems logical to have the same image views amount because they are like a pointer to these. And finally, I understand why it needs multiple framebuffers, because you attach image views to these.
But, the framebuffer needs a render pass handle. But there is no direct link on an image or an image view in a render pass, it only describe with what the rendering will be done.
Then a graphics pipeline only needs a render pass handle. And finally the vkCmdBeginRenderPass() function specifies separately which framebuffer and which render pass it will use.
So why sometimes I saw multiple render passes within a swap chain ? It forces to have a graphics pipeline for each frame which are totally the same.