On further examination the code is supposed to allow multiple assignments, as a particular user may lose access under one rule, but still be included in another, so the Program would still be required learning and so all the potential assignment routes need to be tracked.
The user totals on the Program assignment tab are a bit unclear/misleading, maybe it should make it clearer that there are x distinct unique learners under all the assignment rules.
However I couldn't replicate your completion issues (on 2.5) for users with multiple assignments....is it perhaps the case that an exception is being raised by one of the rules for some of these users? If a user has any outstanding exceptions they won't be enrolled in the program properly and program completion will not be tracked.
Is there a particular screen/report that is not showing program completion when a user has multiple assignments, or is it all the completion progress screens?