The metafields on a collection are certainly accessible via Liquid. I use them all the time.
However that loop you’re doing will have a limit and if your shop has lots of collection it’s possible (and likely) that the loop won’t cover them all. I would also say it’s not a very performant bit of code.
Looking at the code it’s not clear what you’re trying to achieve. I see a variable being set but given the simplicity I wonder if there’s a better way to approach it. Feel free to post back with some more context.