I have this issue in 1.15.1 as well. Village spawned naturally with 2 villagers – a farmer & a Nitwit. There were plenty of beds in the houses around them, so I threw 3 loaves of bread to each. They emitted hearts, then storm clouds. So I put a bed in every house that didn't have one. Same thing. So I built a multi-level barracks with 15+ beds and 4-block-tall ceiling clearance close to the village bell. The villagers sleep in the barracks, but it's still hearts/clouds when I try to breed them. I put additional beds outdoors, under the sky, so that they're entirely unobstructed. (The barracks is made only of wood – acacia wood blocks + acacia stairs. The villagers have clear access to their beds & their workstations & are allowed to roam. There are 5 - 8 unoccupied, naturally-spawned houses in the village.)
I stayed in the village for several Minecraft days (maybe a week, a week & a half?), leveling up the farmer, making the area safer, occasionally throwing the villagers bread to try breeding them, only to repeatedly have the same results. Then I left. Two of my friends play on our server & have built their house near enough to the village that I think the chunks stay loaded while they're on. When I came back the next IRL day, there was a 3rd villager, a fisherman (I had set down a barrel while building my barracks). My friends had not witnessed his birth/childhood/arrival – I was the first to encounter him.
I wanted to have 3 useful villagers, not 2 useful ones & a Nitwit, and it appeared that (somehow or another) we now had room for 3, so I used the "sand method" to kill the Nitwit passively (via smothering). I traded with the farmer & fisherman a bit, worked more on the surrounding area, gave them both bread: hearts, then storm clouds. Still. Despite the fact that it seems like the village must support 3 villagers (or else how did we get a third?). It seems very unlikely that we somehow just missed this third villager, given A. the amount of time I was in the village, B. the fact that he was not trapped when I found him but wandering freely near the village center, and C. the fact that he was a fisherman instead of a farmer bonded to one of the many composters that existed prior to my throwing down that barrel.
Since finding this small village, we have also found a larger village much, much farther away. I did not deliberately try to breed anyone in the new village, but I witnessed them also go to hearts and then clouds after trading, nonetheless.
I have this issue in 1.15.1 as well. Village spawned naturally with 2 villagers – a farmer & a Nitwit. There were plenty of beds in the houses around them, so I threw 3 loaves of bread to each. They emitted hearts, then storm clouds. So I put a bed in every house that didn't have one. Same thing. So I built a multi-level barracks with 15+ beds and 4-block-tall ceiling clearance close to the village bell. The villagers sleep in the barracks, but it's still hearts/clouds when I try to breed them. I put additional beds outdoors, under the sky, so that they're entirely unobstructed. (The barracks is made only of wood – acacia wood blocks + acacia stairs. The villagers have clear access to their beds & their workstations & are allowed to roam. There are 5 - 8 unoccupied, naturally-spawned houses in the village.)
I stayed in the village for several Minecraft days (maybe a week, a week & a half?), leveling up the farmer, making the area safer, occasionally throwing the villagers bread to try breeding them, only to repeatedly have the same results. Then I left. Two of my friends play on our server & have built their house near enough to the village that I think the chunks stay loaded while they're on. When I came back the next IRL day, there was a 3rd villager, a fisherman (I had set down a barrel while building my barracks). My friends had not witnessed his birth/childhood/arrival – I was the first to encounter him.
I wanted to have 3 useful villagers, not 2 useful ones & a Nitwit, and it appeared that (somehow or another) we now had room for 3, so I used the "sand method" to kill the Nitwit passively (via smothering). I traded with the farmer & fisherman a bit, worked more on the surrounding area, gave them both bread: hearts, then storm clouds. Still. Despite the fact that it seems like the village must support 3 villagers (or else how did we get a third?). It seems very unlikely that we somehow just missed this third villager, given A. the amount of time I was in the village, B. the fact that he was not trapped when I found him but wandering freely near the village center, and C. the fact that he was a fisherman instead of a farmer bonded to one of the many composters that existed prior to my throwing down that barrel.
Since finding this small village, we have also found a larger village much, much farther away. I did not deliberately try to breed anyone in the new village, but I witnessed them also go to hearts and then clouds after trading, nonetheless.