In other words, during rendering, many fragments happens in one pixel, ...
In principle: Each render (geometry/depth) pass writes its color into a texture, and a final pass blends the textures into the final image. Because each rendering targets a specific texture and is to be set-up accordingly, the correspondences are a-priorily known, and the texture will receive color for a specific depth layer only.
... but one remains to be the final color due to depth test.
If just one color would remain due to depth test in the end, then depth peeling would not be needed at all.
obvioursly, render times and times again to get a more "deeper" image and finaly see if there are any shading pixel is one way.
The very first render pass finds all the geometry that is at most in front. It is comparable to a standard rendering pass, because the fragments with the nearest depth win. The second render pass finds all geometry that is behind geometry found by the first pass. And so on. As soon as a pass has not found geometry, any following pass will also find nothing. So we have a progressive refinement with each pass, and already the first pass gives you results. It usually makes no sense to look for very deep layers. Dependent on the use case, it may already be enough to make 3 or 4 passes.
BTW: If your question is based on a specific implementation detail, then please tell us about.