I just changed my code to use the loop.
The problem found is that I set some of my checkboxes to be checked by default. The default values are not updating to the database. If I manually check the boxes then I can retrieve the field values.
Would be nice if I could set the default values and they update when I preview or publish as I’d expect when configuring.