I think the confusion here comes from the idea that the marriage act is the only way to beget children.

Mary didn’t stay a Virgin because she thought sexual relations were sinful or disgusting. No I believe Mary remained a Virgin for the exact same reason priests remain celibate. They know that by freely giving up the beautiful sacrament of marriage and the marriage act, they will exchange the ability to beget children in the flesh, for the ability to beget children in the spirit. Paul knew this joy which is why he called Timothy his son even though he wasn’t his son according to the flesh. I believe Mary knew this joy too which is why she didn’t have any more children according to the flesh because she was already going to be a spiritual mother to all who Christ would redeem.
Let’s face it Mary wanted a HUGE family, one too big for poor Joseph to physically provide. Yet God in His infinite wisdom knew this which is why He selected Mary and which is why at the foot of the cross -after thinking of her eagerness at the marriage feast to have Him begin His Hour for our redemption, because she loves us- He spoke those beautiful words making His mother, Mother of us all.
"When Jesus therefore had seen his mother and the disciple standing whom he loved, he saith to his mother: Woman, behold thy son. After that, he saith to the disciple:
Behold thy mother. And from that hour, the disciple took her to his own."