I just found 2 more issues:
- When click "Add more" button to add a new group, the "Categories Select" field will be hidden (although the condition stays true). The "Categories Select" field is a conditional field of the button group above.
- When click "Update" to update post, the button group "Posts Source" of the second last group (second group from bottom) isn't saved (it's kind of a value reset because the value has been saved before).
Below is the code for registering meta boxes:
https://pastebin.com/sZWP3rrd