I did some testes and I can confirm that if beds are stacked on top of each-other (bunk bed configuration) the villagers do not detect the free beds to have a successful breed. Despite the fact that they can sleep in all of the beds.
I tried with 2 villager and 4 beds in bunk(2x2), one time stacked directly on top of each-other, and once with 1 free block between the beds.
The control with beds not stacked worked fine.
[Minecraft Java Edition 1.15.2]
[media][media][media][media]
I just wanna add that this happen even with already existing/assigned workstations. Sometimes a unemployed villager will steal the job from a skilled one leaving him wondering around the village never returning to his former workstation.
This happen to me in 1.15.2 with 2 skilled villager at the same time. The only noticeable factor is that those 2 workstation are the farthest form the village center.
Good luck!
In 1.16.3 single player when creating the first portal, then coming back from the nether to the overworld an other portal is created.
It seams that the first portal created in the nether was generated in the wrong coordinates corresponding to the overworld. To fix I had to check coordinates and redo the nether portal at the correct spot that was only a 7 blocks away.
If this is supposed to be working as intended is very confusing...