You could use LEFT JOIN LATERAL
to get a list of all equipment names sorted alphabetically for each growth space, and compare it with another sorted list of elements:
SELECT gs.*
FROM growth_spaces gs
LEFT JOIN LATERAL (SELECT ARRAY(
SELECT e.name
FROM growth_space_equipment gse
LEFT JOIN equipment e ON (gse.equipment_id = e.id)
WHERE gse.growth_space_id = gs.id
ORDER BY e.name) AS names) e ON (true)
WHERE e.names = ARRAY(SELECT UNNEST('{Mist Propagation,Automated Curtain}'::varchar[]) ORDER BY 1)
A variant of this is comparing a list of IDs rather than the texts, which would perform better for large sets:
SELECT gs.*
FROM growth_spaces gs
LEFT JOIN LATERAL (SELECT ARRAY(SELECT equipment_id FROM growth_space_equipment WHERE growth_space_id = gs.id ORDER BY 1) AS eq_ids) e ON (true)
WHERE e.eq_ids = ARRAY(SELECT id FROM equipment WHERE name IN ('Mist Propagation', 'Automated Curtain') ORDER BY 1)