Neither the best man nor the maid of honor needs to be Catholic. This is one instance where they don’t even have to be Christian. Unlike the sponsors at Baptism (Canon 872) and Confirmation (Canon 892) the witnesses at marriage assume no responsibility to attest to the faith of those entering marriage or to assist them in living out the marriage obligations. Their sole function is to witness to the fact that the marriage was legitimately celebrated, (before a duly authorized priest or deacon and two witnesses).
