Science!
Standard bipartite graph construction. Binary search on the maximum possible flow which can be met (chaning capacity from source->people, and from button->sink)>
This is not necessarily tight bound? Have to demonstrate that even with this value, that we can actually construct a valid assignment. Remove unused edges with no loss of generality. Consider node A and B which should be paired with W, X in round one, and X, Y in round two. Then consider they are paired with W, Y in round 1, forcing them to both attempt to use node X in round 2. As there are 3 nodes and the matching is perfect in each rounde, there must be some outside node C which has been paired with X in round 1. Furthermore, as we know the optimal pairing requires C to use W and Y in those two rounds, C must also have edges to W and Y. As we know each node should only be paired with 2 nodes, and we have removed unused edges, this contradicts the fact that C can have 3 edges now.
In reality, C does NOT have an edges to X, and therefore one of A or B must be assigned to X in round 1, allowing a perfect match in round 2.
More generally....see with hall's theorem. Find the first matching, remove those edges, left with n-1 regular bipartite graph.
@MISC {4361591,
TITLE = {If G is n regular, then G has n disjoint perfect matchings.}, AUTHOR = {Rod Laver (https://math.stackexchange.com/users/1012058/rod-laver)}, HOWPUBLISHED = {Mathematics Stack Exchange}, NOTE = {URL:https://math.stackexchange.com/q/4361591 (version: 2022-01-20)}, EPRINT = {https://math.stackexchange.com/q/4361591}, URL = {https://math.stackexchange.com/q/4361591}
}
https://www.math.cmu.edu/~ploh/docs/math/mop2010/graph-theory-2-soln.pdf