Having practiced it for a number of years, I would respectfully have to assert that canon law for the Latin Church does not impose that requirement. Nor have I ever heard or read of such a requirement in the commentaries of approved authorities.
Canon 1108 §1 only mentions two witnesses.
The law treats matrimony quite different than it does the situations of baptism and confirmation. This is a case where we cannot impose a requirement by way of analogy to the requirements found in the canons for those sacraments. In baptism and confirmation, we are speaking of sponsors who have some role of assistance or of attesting to the faith of a recipient of the sacrament (cc. 872 and 892).
Here we would be speaking only of witnesses who do not have any such role, but only that of being witnesses to the fact of a legal celebration.
Even then, there is no requirement that the canonical witnesses also serve as “best man” or “maid of honor.” But practically, we tend to have the same persons serve as “best man / maid or matron of honor” and as canonical witnesses and as civil witnesses.