I figured this out. Dumb mistake, probably due to it being late in the day.

I am a C++ user who is still new to Python, so I am not sure how it uses references. If "variable" here is set to the same value (even "0") in both places, Tkinter synchronizes the checkboxes. However, it they are set to different literals, the boxes aren't synchronized. Since I'm used to C++, trying to use "0" as a reference here I would expect would lead to a crash or error, but somehow Python makes sense of it.

I think you've somewhat figured it out. Use IntVar objects. With SCREWY set to True the buttons will be independent, and with SCREWY set to False the buttons will be independent and you'll be able to determine the values.

Hm, well thank you for the advice. I guess that is a little discouraging, though, as I don't know why it behaves like that. I guess the core of the problem is that I don't know what it is actually doing when I assign a literal to "variable".