Validators do not work well with multiple input controls as inputs. They are best reserved for single-control value validation. Cross-field validation is something that is more easily done within the action method. Although the problem with validation in action methods is that the bean has already been updated at that point.
The major fault you have is that you are treating month, day, and year as attributes of the year dropdown component, and they are not. They are each components in their own right (not attributes) and you'd have to use a find-component method to locate them in the component tree. Simple physical adjacency (sibling nodes) wouldn't be reliable, as unexpected unrelated components can also be present. Once you have found the component, you'd have to extract its value, which isn't as easy as you might think, since the "value" of a UIComponent is actually its EL expression value, not a simple value.
Science is the process of replacing what we "know" with what is TRUE. Politics, alas, often prefers to be the opposite.