There could be several things wrong with your farm, there could be not enough villagers, the villagers might not have slept recently enough, they might have seen another iron golem recently, or they might need the proper motivtion, like from a zombie.
Based on the pictures, the detecting another golem recently doesn't seem to be an issue, despite being built above the real village, but it's best to make sure that there are no golems left in the village, just in case.
Adding more villagers likely won't change much, 3 is the minimum to summon one, more villagers will just make it faster
Now, here is where I belive the main issue of your farm lies, the villagers need to have slept recently, even if they sleep for half a second, it still counts. I don't think iron golems can spawn while villagers are sleeping, but if maximum efficiency isn't a concern, don't worry too much about it.
By far the fastest way to get villagers to spawn iron golems is to make them panic. This can be done, most commonly, by a zombie. There are other ways, but zombies are the easiest. A passive farm is where villagers will spawn an iron golem every so often when they haven't detected another golem for the past 5 minutes. An active farm will use some means of panicking the villagers to get them to spawn an iron golem. Depending on which type you use, there will come different issues that need fixing.
To start, add beds and add a zombie, but make sure the villagers can still sleep, and that should get you iron golems spawning.