At first, I had only one set, and the labels were:
Red: common
Yellow: web
Green: print
Blue: fine print
Purple: poster print
I set this up, deleted the original color label set (so as not to cause some strange conflicts), and then began to label my photos with various color labels, in order to distinguish between their printing/display quality.
After having encountered this problem, I have now changed the labels to the names of their respective colors:
Red: red
Yellow: yellow
Green: green
Blue: blue
Purple: purple
After doing this, all of the images had "custom" labels of course, since the label set being used did not match the former text in the "Label" metadata field. So I selected all of the photos and labeled them assigned them the "green" label, which changed the text in the "label" metadata field and made all of their thumbnails green.
After doing this, I went back to the Color: Green collection, and changed some of them to various colors. No matter which color label I assigned, they would remain in the "Green" Smart Collection.
Gave it some thought and restarted Lightroom, and now things APPEAR TO BE WORKING AS INTENDED (although a restart should not have been necessary).
I can only assume that this is because the Green label used "print", which was not equal to, but found within, the Blue and Purple collections. This seems to be a bug, since "print" is certainly not the same as "fine print" or "poster print".
After changing the color label set for testing purposes to:
red: "family"
yellow: "family trips"
green: "happy family"
blue: "kittens"
purple: "cereal is very good"
I have found that:
filtering to see just Red ("family") photos will show you: red, yellow, green (all those with "family" somewhere in the label's text)
filtering to just see Yellow ("family trips") photos wills how you: only yellow (as expected)
filtering to see Green ("happy family") photos will show you: only green (as with yellow)
filtering to see Blue photos will show you only Blue, and the same is true for purple.
It seems that Lightroom is filtering by determining whether the string which is assigned to the color label you are using *can be found within* the "label" metadata field, rather than whether that string *is equal to*, i.e. matches, the "label" metadata field. I somehow doubt that this is intentional, since it caused some strange behavior here.
Anyway that did clear up the issue - strange, since I tried making all the labels unique before, and I'm certain it didn't work, but perhaps I forgot to restart the application at that particular point, although I have restarted it multiple times after various attempts at fixing the problem.
So there are two strange behaviors: (1) after making at least some types of changes to color label sets, you must restart for the changes to take effect, and (2) the text of color labels must be absolutely unique, and none may be a substring of another.
Thank you so much for helping me with this issue, everyone. I hope this helps anyone having a similar problem.