i dont know why its not working in survival but it does in creative
Wich Version are you playing, the current?
Have you tried scaring the villagers with snowballs?
That may trigger the first golem to spawn.
You can try to break the beds and place them again.
I'm playing on 1.16.3 already destroyed beds and placed them again, same with work stations, I did scare them with a punch haven't tried the snowballs.
Workstations shouldn't be required in 1.16.3.
I'm running an ironfarm with only 5 villagers.
I can't say if it's an efficient design but it's very easy to build.
Have you at least 5 villagers with beds?
I don't think the golem should be able to spawn underground, yours is looking high enough I'd say.