Zachary the priest was visited by the Angel Gabriel, while in the Temple offering Incense. The Angel gave him a long and detailed prophecy about the son that should be born to them. Despite all this, Zachary’s response was to question the Angel Gabriel, how he could verify the accuracy of this statement, since he and his wife were old! These words of doubt brought the further stern reply that he was speaking to the Angel Gabriel that comes from before the Throne of God. IOW, Zachary was not impressed with his Angelic visitor or his words, but demanded further verification.
Our Virgin Mother on the other hand questioned the Angel because of her own impediment to the design of God. IOW, Mary didn’t doubt the word of God, but rather how it might be accomplished in view of her vow of virginity to God. It wasn’t a question of whether it was possible, or needing further proof or verification, but rather a question of how she should be able to comply with this design. Was God asking her to break her vow?
Even Elizabeth, her kinswoman, inspired by the Holy Spirit, understood the great difference between Zachary’s and Mary’s answer to the Angel Gabriel. (Luke 1:45)
Catholics understand and believe that the Virgin Mary was a perpetual virgin, which prompted her question. Unbelievers (like Zachary) demand further proof. They foolishly believe that Mary asked the question because she was still a virgin, (as if she could be so incredibly dense as not to know how such a prophecy would be fulfilled, being already espoused to St. Joseph at the time.)