@AntwainPatrick
Are you still having issues with this?
I believe some of the responses might have missed that you are working with a Gallery with one checkbox.
This is a pretty straight-froward solution that only needs a couple bits of formula.
It's based on the idea that when a user clicks on 2 items (as you indicated that was all they can have) the rest become disabled. They can unclick on and then choose another, but the most they can choose is 2.
Then, you need the concat'ed value of the checkbox in the Gallery.
The Concept here is to first base the DisplayMode of the checkbox off of a helper value (we can't actually reference certain things inside a Gallery...such as AllItems - which is what we need). SO, there exists a label outside of the Gallery (called HelperLabel) with this formula in the Text property:
CountRows(Filter(Gallery4.AllItems, Checkbox2.Value))
Then, on the Checkbox2, the DisplayMode property is set to:
If(Value(HelperLabel.Text)=2 && !Checkbox2.Value, Disabled, Edit)
Your CheckBox2 Default property should be set to:
CheckBox2.Text in Parent.Default
Finally, for your PrintSet_DataCard1 update property, this formula:
Mid(Concat(Filter(Gallery1.AllItems, Checkbox2.Value), ", " & Checkbox2.Text),3)
I've attached a sample app of this all working (minus the data sources and edit form), but it will demonstrate the easiest way to get where you're going.
I hope it is helpful for you.