It’s very easy to find that *coger* is slang for *fuck* in Mexico and many South American countries.
It’s not easy to find *why* though. I’ve hunted around for the origin of its 2nd meaning and can’t find it.
I don’t know about Mexico but in Argentina you’d **never** use *coger* to mean *catch the bus*. You’d avoid the double-meaning by using *tomar* instead, which is more-or-less saying *take* the bus rather than *grab* the bus.
There was an Argentine film in which a woman wanted to get pregnant using a turkey baster and her friend’s semen. She passed him the turkey baster and began to say *cogé eso*, but corrected herself to *tomá eso*. A cute joke but very forced because an Argentine just wouldn’t make that error in the first place.
Latest Answers