There is a difference between the game trying to generate a village when generating new chunks and what the game actively considers a village. World generation is basically just the game looking at the seed and saying "I want to make a village at point X". Then it says "I'll try and make a house in this village at point A" and then it tries to do that. If things make it impossible for a house to spawn there it won't do it. Then it repeats in other locations in the Village. So if it decided to try and generate a village and got the paths and some other structures, but failed to generate houses because trees or whatnot were in the way, you would find a situation like this. At least that is my understanding.
Meanwhile an active village during normal gameplay does have rules regarding villagers and beds and whatnot.
I see, thanks for the explanation