Faits :
A.
Par jugement du 28 mai 2019, le Tribunal correctionnel de l'arrondissement de la Broye et du Nord vaudois a constaté que A._ s'est rendu coupable d'injure, menaces, violation de domicile, contrainte sexuelle, viol, infraction à loi fédérale sur l'assurance-accidents et infraction à la loi fédérale sur les stupéfiants et les substances psychotropes et l'a condamné à une peine privative de liberté de quatre ans ainsi qu'à une peine pécuniaire de 90 jours-amende, le montant du jour-amende étant fixé à 30 fr., peine pécuniaire complémentaire à celle de 75 jours-amende prononcée le 3 octobre 2018 par le Tribunal du district d'Hérens-Conthey. Il a également dit que A._ était le débiteur de B._ de la somme de 15'000 fr. avec intérêt à 5 % l'an dès le 13 octobre 2015 à titre de réparation du tort moral.
B.
Statuant par jugement du 29 juin 2020, la cour cantonale a partiellement admis l'appel du Ministère public de l'arrondissement du Nord vaudois et réformé le jugement de première instance en ce sens que A._ a été reconnu coupable de viol sur la personne de D._, condamné à une peine privative de liberté de cinq ans et expulsé du territoire suisse pour une durée de huit ans. Elle a également partiellement admis l'appel de A._ et réformé le jugement de première instance en ce sens que le prénommé a été libéré de l'infraction de menaces au préjudice de E._ et la confiscation de certains objets a été annulée. Le jugement du 28 mai 2019 a été confirmé pour le surplus.
En substance, la cour cantonale a retenu les faits suivants.
B.a. A._ est né en 1993 au Cameroun, pays dont il possède la nationalité. Le 13 février 2004, il est venu en Suisse avec ses deux soeurs pour rejoindre sa mère. Commencée au Cameroun, sa scolarité s'est achevée à F._. Il a été élevé par sa mère et le mari de cette dernière. Son père biologique vivait en Afrique et est décédé aux environs de l'année 2009. A l'issue de sa scolarité obligatoire, A._ a effectué un apprentissage de charpentier et obtenu un certificat fédéral de capacité. Il est resté quelque temps sans travail, puis il s'est mis à son compte officiellement le 1er janvier 2015. Pour compléter son activité de charpentier, qu'il exerce à temps partiel, il effectue des déménagements. En 2017, il a annoncé un revenu annuel net de 24'000 fr., soit 2'000 fr. par mois. Sa mère, l'une de ses soeurs et des amis lui prêtent de l'argent lorsqu'il ne s'en sort pas. ll a des dettes envers des amis pour un montant de l'ordre de 30'000 francs. Célibataire, il vit seul et n'a pas de charges de famille, mais dit payer l'assurance-maladie et les cotisations AVS de sa mère. Il ne serait pas retourné au Cameroun depuis 2004, quand bien même il avait prévu d'y retourner en 2017. Il entretient toujours des relations avec des cousins qui vivent au Cameroun.
Le casier judiciaire de A._ ne mentionne aucune inscription sous ce patronyme. Sous le nom de G._, il contient l'inscription suivante : le 3 octobre 2018, Tribunal du district d'Hérens-Conthey, 75 jours-amende à 54 fr. avec sursis pendant deux ans et 600 fr. d'amende pour diffamation, violation de domicile, tentative de contrainte et menaces.
B.b. Dans la première quinzaine du mois d'octobre 2015 à tout le moins, A._ a effectué, à la demande du propriétaire, des travaux dans l'immeuble où B._ était locataire. Il disposait du code d'entrée de l'immeuble. C'est dans ces circonstances qu'il a fait la connaissance de B._. Le mardi 13 octobre 2015, vers 11 heures, B._ se trouvait dans son salon, assise sur son canapé, et fumait une cigarette avant d'entreprendre des travaux ménagers. Son ami E._ avait quitté l'appartement peu avant, sans verrouiller la porte, ce que A._ avait pu constater. Soudain, B._ a surpris ce dernier, qui n'avait pas été invité chez elle, à l'entrée de l'appartement, les deux mains posées de chaque côté du mur. Elle lui a demandé de quitter les lieux en pensant qu'il s'était trompé de porte. A._ a répondu : " non, je ne me suis pas trompé de porte, c'est toi que je suis venu voir ". Il s'est alors assis sur le canapé à côté d'elle et lui a proposé des stupéfiants (une ordonnance de classement a été rendue séparément sur ce point pour cause de prescription). B._ a refusé. Elle s'est levée du canapé, s'est tenue debout face au prévenu et a demandé une nouvelle fois à ce dernier de partir. A._ s'est alors levé, non sans avoir dit au préalable à B._ qu'elle lui plaisait. La prénommée lui a répondu que ce n'était pas réciproque et qu'elle était en couple avec son ami depuis plusieurs années. Après avoir fait mine de vouloir quitter l'appartement, A._ a demandé à B._ dans l'entrée de l'appartement : " tu as déjà couché avec un Noir ? ". Elle lui a alors répondu : " qu'est-ce que cela peut te foutre ? ". Pour toute réponse, A._ l'a prise par les avant-bras avec ses deux mains et lui a dit : " tu vas te laisser faire, espèce de salope. Ça fait longtemps que je te veux ". B._ lui a demandé : " pourquoi moi ? ". A._ a donné un coup de pied dans la jambe droite de B._ et lui a marché dessus. Il l'a également poussé avec ses mains au niveau des épaules, avec violence. Son but était de la mettre à terre. B._ a tenté de se dégager et a crié. A un moment donné, alors qu'ils étaient encore debout, A._ a baissé son propre pantalon. Son sexe était déjà en érection. Il a également enlevé son caleçon. Il a ensuite enlevé, sans le consentement de B._, le pantalon de jogging et le slip de cette dernière, en tirant dessus avec ses deux mains. Il a réussi à faire tomber B._ au sol. Une fois par terre, cette dernière, qui était étendue sur le dos, a constaté qu'elle ne pouvait plus bouger, A._ étant couché sur elle. Comme elle voulait à tout prix éviter une pénétration, elle lui a proposé de lui prodiguer une fellation et de s'en tenir à ça. Tout en gardant une position d'emprise sur elle en tenant l'une de ses mains et en s'appuyant sur sa poitrine, A._ a introduit son sexe en érection dans la bouche de B._. Ensuite, malgré le refus manifesté par B._ d'entretenir une relation sexuelle, A._, toujours placé au-dessus de sa victime, a craché de la salive sur le sexe de B._ pour faciliter la pénétration et a mis son sexe dans son vagin. Durant la pénétration, il a maintenu B._ au sol en la tenant de ses deux mains. Toujours non consentante, mais n'arrivant plus à se débattre, celle-ci s'est résignée et a demandé à A._ de ne pas éjaculer en elle. Durant la pénétration, le prévenu lui a dit : " est-ce que tu aimes ça, connasse ? ". Il a maintenu son emprise jusqu'à éjaculation dans le vagin et sur le bas-ventre de B._. Avant de quitter les lieux, A._ a demandé à B._ de ne parler à personne de ce qui s'était passé et lui a dit qu'il lui amènerait un billet de 50 fr., notamment.
B.c. A F._, le 23 octobre 2015, lors de la perquisition effectuée à son domicile par la police, A._ était en possession de deux sachets Minigrip contenant du cannabis qu'il voulait remettre à un ami consommateur de produit stupéfiant.
B.d. De juillet 2016 à mars 2017, au sein de son entreprise H._ dont le siège est à F._, A._ a employé plusieurs personnes alors qu'il n'avait pas contracté l'assurance-accident obligatoire auprès de la SUVA.
B.e. Le samedi 29 juillet 2017, C._ a fait la connaissance de A._ sur le chemin en face de son domicile. Ce dernier et C._ ont discuté à cet endroit, puis au bord de la rivière. A._ a dit à C._ qu'il avait des sentiments pour elle. De son côté, C._ cherchait de la distraction pour se changer les idées. Ils ont échangé leurs numéros de téléphone et poursuivi leur conversation par le biais de la messagerie instantanée de I._, J._. Deux jours plus tard, le lundi 31 juillet 2017 en début d'après-midi, lors d'échanges par messagerie électronique avec C._, A._ a demandé à cette dernière si son mari était à la maison. Elle lui a répondu par la négative et ajouté qu'elle ne voulait plus de contacts avec lui, et qu' a fortiori, elle ne voulait pas se rendre à son domicile. A._ s'est alors montré menaçant à son encontre en lui disant notamment que si elle tenait à la vie, elle devait venir à son domicile, que si elle sortait promener son chien, elle serait morte, et enfin qu'il viendrait chez elle pour tout casser.
B.f. A._ et D._, domiciliée à K._, se sont rencontrés par le biais des réseaux sociaux. Ils ont conversé à de multiples reprises et se sont rencontrés une dizaine de fois, essentiellement au domicile de A._, à F._, mais aussi à K._. Le prénommé avait pour habitude d'aller chercher D._ à K._ en voiture. Il la conduisait ensuite à son domicile de F._, puis il la ramenait chez elle. Au domicile de A._, les parties ont entretenu des relations sexuelles consenties à quatre reprises au moins. Le 28 janvier 2018 en fin d'après-midi, A._ a envoyé un message à D._ pour lui proposer d'aller la chercher à son domicile, de se rendre chez lui et de la ramener ensuite à K._. D._ a accepté. Ils sont arrivés au domicile de A._ vers 20h30. D._ s'est installée sur le canapé et a regardé la télévision. A._ s'est assis à côté d'elle et l'a embrassée, avec son accord. Il lui a ensuite touché le bras et les cheveux, puis il lui a demandé de se lever pour qu'il puisse déplier le canapé en vue d'une relation sexuelle. D._ a fait savoir à A._ qu'elle n'était pas d'accord d'aller plus loin dans l'intimité. Celui-ci a néanmoins continué à l'embrasser. Il lui a touché la poitrine et l'a couchée sur le canapé. D._ a tenté de le repousser à plusieurs reprises à l'aide de ses bras, en vain. A._ a essayé de lui enlever son pull, mais elle a résisté en lui prenant les mains et en les enlevant de son corps, tout en lui demandant d'arrêter. Sans tenir compte du refus et des protestations de D._, A._ s'est montré insistant et s'est couché sur elle. Comme il n'est pas parvenu à enlever le pull de D._, il a descendu partiellement le pantalon et le string de cette dernière. Il a ensuite enlevé son propre pantalon et son caleçon. Après avoir passé ses mains sur le sexe de D._, il l'a pénétrée contre sa volonté pendant cinq minutes environ. D._ a tenté vainement plusieurs fois de repousser A._ au niveau du torse et des épaules, à l'aide de ses bras. Elle s'est finalement résignée et s'est laissée faire. Elle a eu mal et a dit à plusieurs reprises à A._ d'arrêter, sans succès. Ce dernier a poursuivi sa pénétration jusqu'à éjaculation. Il a ensuite demandé à D._ si elle voulait continuer, ce à quoi elle a répondu par la négative et il s'est finalement retiré. Après s'être rhabillée, D._ s'est rendue à la salle de bains pour essuyer le sperme. Lorsqu'elle est revenue au salon, elle a demandé à A._ de la reconduire à son domicile, à K._. A._ et D._ se sont disputés dans la voiture. Le sujet de la dispute portait sur la volonté de chacun lors de cette rencontre, à savoir que D._ souhaitait voir A._ sans entretenir de relation sexuelle, alors que ce dernier ne voulait la voir que pour entretenir une telle relation. Finalement, A._ a déposé D._ à la gare de L._, puis il est rentré chez lui. De son côté, D._ a demandé à une amie et à sa soeur de venir la chercher. A son arrivée à K._, elle a été prise en charge par la police, qui avait été appelée par sa soeur.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 29 juin 2020. Il conclut, avec suite de frais et dépens, principalement à sa réforme en ce sens qu'il est libéré des accusations d'injure, menaces, violation de domicile, contrainte sexuelle et viol, qu'il n'est condamné qu'à une peine pécuniaire de nonante jours-amende pour les infractions à loi fédérale sur l'assurance-accidents et à la loi fédérale sur les stupéfiants et les substances psychotropes, le montant du jour étant fixé à 10 francs, qu'aucune expulsion du territoire suisse n'est prononcée à son égard et qu'il ne doit aucune réparation pour cause de tort moral à B._. Il conclut subsidiairement à l'annulation du jugement entrepris et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite également, pour autant que de besoin, que l'effet suspensif soit octroyé au présent recours.

Considérant en droit :
1.
Le recourant conteste sa condamnation pour l'infraction de menaces à l'endroit de C._.
Il ressort du jugement entrepris (En fait, B. p. 19) que, lors de l'audience du 29 juin 2020, le recourant a retiré l'appel s'agissant du cas de C._. Le recourant ne soutient nullement que ce retrait ne serait pas valable. Par conséquent, il n'expose pas en quoi le jugement attaqué, qui ne peut que constater l'entrée en force de sa condamnation pour l'infraction de menaces au préjudice de C._, violerait le droit. Son grief est irrecevable (<ref-law>).
2.
Le recourant conteste sa condamnation pour injure, violation de domicile, contrainte sexuelle et viol à raison des faits commis au préjudice de B._. Il se plaint d'arbitraire dans l'établissement des faits et l'appréciation des moyens de preuve ainsi que de la violation du principe " in dubio pro reo ".
2.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins que celles-ci n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation, mais aussi dans son résultat (<ref-ruling> consid. 1.3.1 p. 91 s.; <ref-ruling> consid. 1.1 p. 155 s.). En matière d'appréciation des preuves et d'établissement des faits, il n'y a arbitraire que lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables (<ref-ruling> consid. 1.1 p. 503). Le Tribunal fédéral n'entre ainsi pas en matière sur les critiques de nature appellatoire (<ref-ruling> consid. 4.1.2; <ref-ruling> consid. 2.1, 88 consid. 1.3.1).
La présomption d'innocence, garantie par les <ref-law>, 32 al. 1 Cst., 14 par. 2 Pacte ONU II et 6 par. 2 CEDH, ainsi que son corollaire, le principe " in dubio pro reo ", concernent tant le fardeau de la preuve que l'appréciation des preuves au sens large. En tant que règle sur le fardeau de la preuve, elle signifie, au stade du jugement, que le fardeau de la preuve incombe à l'accusation et que le doute doit profiter au prévenu. Comme règle d'appréciation des preuves, la présomption d'innocence signifie que le juge ne doit pas se déclarer convaincu de l'existence d'un fait défavorable à l'accusé si, d'un point de vue objectif, il existe des doutes quant à l'existence de ce fait. Il importe peu qu'il subsiste des doutes seulement abstraits et théoriques, qui sont toujours possibles, une certitude absolue ne pouvant être exigée. Il doit s'agir de doutes sérieux et irréductibles, c'est-à-dire de doutes qui s'imposent à l'esprit en fonction de la situation objective. Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence au principe " in dubio pro reo ", celui-ci n'a pas de portée plus large que l'interdiction de l'arbitraire (ATF <ref-ruling> consid. 1.1 p. 155 s. et les références citées).
Les déclarations de la victime constituent un élément de preuve. Le juge doit, dans l'évaluation globale de l'ensemble des éléments probatoires rassemblés au dossier, les apprécier librement (arrêts 6B_892/2020 du 16 février 2021 consid. 6.1; 6B_332/2020 du 9 juin 2020 consid. 3.2 et les références citées), sous réserve des cas particuliers où une expertise de la crédibilité des déclarations de la victime s'impose (cf. <ref-ruling> consid. 2.4 p. 184). Les cas de " déclarations contre déclarations ", dans lesquelles les déclarations de la victime en tant que principal élément à charge et les déclarations contradictoires de la personne accusée s'opposent, ne doivent pas nécessairement, sur la base du principe " in dubio pro reo ", conduire à un acquittement. L'appréciation définitive des déclarations des participants incombe au tribunal du fond (<ref-ruling> consid. 3.3 p. 127; arrêts 6B_892/2020 précité consid. 6.1; 6B_332/2020 précité consid. 3.2).
2.2. Le recourant soutient que la cour cantonale est tombée dans l'arbitraire en privilégiant la version des faits de l'intimée au détriment de la sienne. L'autorité précédente aurait dû retenir, comme il l'avait expliqué, que l'intimée l'avait abordé alors qu'il travaillait dans un appartement voisin pour lui emprunter son téléphone; ne la voyant pas revenir, il s'était rendu chez elle pour le récupérer. Elle lui avait alors proposé une fellation, espérant en retirer de l'argent. Le recourant avait dans un premier temps accepté, avant d'arrêter et de vouloir s'en aller. L'intimée lui avait alors demandé 50 fr., ce qu'il lui a dit qu'il allait chercher. Il n'était jamais revenu, ce qui avait mis l'intimée - bipolaire - en colère, la conduisant à déposer plainte.
2.3. Dans l'examen de la crédibilité du récit de l'intimée, la cour cantonale a tout d'abord relevé que celle-ci n'avait manifestement pas cherché à présenter la situation de la manière la plus avantageuse pour elle. Elle n'avait en particulier pas caché sa toxicomanie, le fait qu'elle suivait toujours un traitement de substitution à la méthadone et qu'elle avait, malgré ce traitement, consommé de l'héroïne quelques mois auparavant, ainsi qu'au lendemain des faits reprochés au recourant. Elle avait également spontanément exposé qu'il lui était par le passé arrivé d'entretenir des relations sexuelles pour obtenir de l'argent en vue d'acquérir des stupéfiants tout en précisant que cela remontait à une quinzaine d'années. Ces révélations peu flatteuses allaient dans le sens d'un récit authentique.
La cour cantonale a ensuite constaté que l'intimée avait décrit les actes qu'elle reprochait au recourant de manière claire et constante. Les pleurs constatés lors de ses auditions trahissaient en outre la réelle émotion qui devait l'étreindre à l'évocation des faits. Son récit était nuancé et ne révélait aucun indice d'exagération ni d'animosité excessive. Ses déclarations comportaient en outre et surtout de nombreux détails concrets sur le déroulement des événements. L'intimée avait en particulier expliqué avec précision sa tentative désespérée d'échapper à une pénétration en proposant une fellation au recourant et son dégoût lorsque ce dernier avait introduit sa verge dans sa bouche. Elle avait également pu décrire précisément la manière dont il l'avait malgré tout finalement pénétrée et la résignation qui s'en était suivie. La cour cantonale a considéré que les différents détails que l'intimée avait pu donner, ainsi que la manière crue et spontanée dont ils avaient été révélés, n'étaient pas compatibles avec un récit construit et artificiel. Cette impression se renforçait encore à la lecture d'autres déclarations de l'intimée : " En tout je pense que ça a duré 15 minutes, mais ce sont les pires de toute ma vie " ou encore " Si j'ai lavé mes vêtements, c'est parce que tout cela me rappelait les faits. Je me suis également douchée. Tout cela sentait ".
Par ailleurs, la cour cantonale a considéré que la version de l'intimée ne contenait aucune incohérence majeure. Le fait que l'intimé ait affirmé que le recourant avait dû forcer " un peu " pour la pénétrer n'était pas incompatible avec l'absence de lésions vaginales constatée par les médecins et cela d'autant moins qu'elle avait également précisé que le recourant avait préalablement lui-même humidifié son sexe pour parvenir à ses fins. La version de l'intimée apparaissait d'autant plus crédible, cohérente et convaincante qu'elle trouvait également appui dans d'autres éléments du dossier. Son ancienne curatrice avait en effet rapporté qu'elle avait vu l'intimée juste après les faits, que cette dernière lui avait alors dit qu'elle avait été agressée sexuellement, qu'elle était dans un état de stress complet et inhabituel, qu'elle pleurait, donnait des détails, était choquée, triste, mais aussi en colère contre l'auteur de l'agression. Les médecins de l'Unité psychiatrique ambulatoire du CHUV à M._, qui suivaient l'intimée depuis le mois de février 2009, avaient de leur côté également attesté qu'elles avaient, depuis l'agression, constaté une dégradation de son état psychique sous la forme d'une recrudescence de ses angoisses avec une accélération de la pensée et une désorganisation de son état psychique.
2.3.1. Le recourant se prévaut de la divergence dans les récits de l'intimé et E._ au sujet du moment auquel celle-ci avait révélé à celui-là avoir été violée (le lendemain des faits, soit le 14 septembre [recte : octobre] 2015 selon E._ et le 16 septembre [recte : octobre 2015] selon l'intimée).
La cour cantonale a considéré que cette divergence mineure ne remettait pas en cause la crédibilité de l'intimée, l'essentiel étant que cette dernière et son ami se rejoignaient sur le fait qu'elle n'avait pas tout de suite osé lui dire qu'elle avait été violée, ce qui expliquait du reste pourquoi le premier appel au 117, passé après le retour au domicile de son compagnon, ne faisait état que d'une violation de domicile. En tant que le recourant soutient que cette divergence crée un doute sérieux et irréductible sur la version de l'intimée, il se contente en réalité d'opposer, dans une démarche appellatoire et partant irrecevable, sa propre appréciation à celle de la cour cantonale, sans démontrer le caractère arbitraire de celle-ci.
2.3.2. Le recourant soutient également que les témoignages de N._, connaissance de l'intimée et né en 1940, démontraient que les déclarations de celle-ci selon lesquelles cela faisait longtemps qu'elle avait arrêté de se prostituer n'étaient pas conformes à la vérité. Le témoin avait su dire lorsqu'il avait des doutes ou n'était pas sûr, de sorte que son témoignage était crédible. Il était arbitraire de l'écarter au motif qu'il était dépourvu de force probante.
La cour cantonale a retenu que si N._ avait certes laissé entendre qu'il obtenait toujours des faveurs sexuelles de la part de l'intimée, tout en lui donnant de l'argent, il ne fallait pas perdre de vue que ce témoin était sous curatelle de portée générale, ce qui impliquait que sa capacité de discernement était à tout le moins douteuse. L'inspecteur de police avait du reste expressément tenu à préciser que ce témoin avait eu beaucoup de difficulté à comprendre les questions qui lui étaient posées et à y répondre. Ce témoignage n'avait ainsi aucune valeur probante.
Ici également, le recourant oppose, de manière appellatoire, son appréciation du moyen de preuve à celle de la cour cantonale. En se limitant à souligner que le témoin a su exprimer ses doutes lorsqu'il en avait, il ne démontre pas encore en quoi l'appréciation cantonale, fondée sur les indications fournies par l'inspecteur de police qui a recueilli les déclarations en question, serait arbitraire. Au demeurant, le témoin n'a pas fait état de rapport sexuels complets avec l'intimée ni même de sexe oral (seulement des caresses, des baisers et l'exhibition de ses fesses et sa poitrine) et qu'il a précisé qu'il ne la payait pas pour cela, même s'il lui donnait parfois un peu d'argent lorsqu'elle se plaignait d'en manquer " en aucun cas elle m'a demandé de l'argent en échange de faveurs sexuelles ", (procès-verbal d'audition du 22 août 2017, p. 4), de sorte que même à retenir ce témoignage comme probant, le comportement qu'il décrit demeure assez éloigné de celui que le recourant veut attribuer à l'intimée (cf. consid. 2.2 supra). Il est encore précisé que le recourant a déclaré, lors de l'audience d'appel, qu'il n'avait aucune idée de la raison pour laquelle l'intimée lui avait proposé une fellation et qu'il ne savait pas non plus pourquoi elle le mettait en cause (jugement entrepris, p. 5). Partant, c'est en toute hypothèse sans arbitraire que la cour cantonale n'a pas considéré que ce témoignage portait atteinte à la crédibilité de l'intimée ou renforçait celle du recourant en ce qui concerne le déroulement des événements litigieux.
2.3.3. Le recourant souligne encore que le 22 octobre 2015, l'intimée ne s'était plainte à la police que de violation de domicile sans évoquer une quelconque agression sexuelle et que le rapport médical du CHUV du 20 avril 2016 ne constatait aucune lésion.
La cour cantonale a retenu que si l'intimée n'avait tout d'abord évoqué que la violation de domicile lorsqu'elle avait appelé la police, c'était, comme celle-ci l'avait expliqué, parce que son compagnon était présent et qu'elle ne lui avait pas encore révélé avoir été violée. Cette approche, que le recourant ne discute pas, ne prête pas le flanc à la critique.
Enfin, la cour cantonale a constaté que les médecins du service de gynécologie du CHUV avaient mis en évidence des suffusions sur les membres inférieurs de l'intimée, qu'ils ont considérées comme compatibles avec les faits rapportés par l'intimée - à juste titre, puisqu'elle affirmait notamment que le recourant lui avait donné un coup de pied sur la jambe - tout en relevant que l'examen gynécologique, dans la norme, ne permettait pas d'exclure une agression sexuelle avec pénétration. Il n'était dès lors pas insoutenable de considérer que le rapport médical du 20 octobre 2016 ne conduisait pas à douter de la véracité du récit de l'intimée.
2.4. En définitive, les éléments sur lesquels s'appuie le recourant ne démontrent pas, dans la mesure de leur recevabilité limitée, que la cour cantonale aurait versé dans l'arbitraire dans l'appréciation des versions divergentes des parties. Celle-ci a expliqué de manière détaillée sur quels indices elle se fondait pour conclure que le récit de l'intimée était crédible, convaincant, et corroboré par des éléments externes, alors que le recourant s'était pour sa part contredit sur le motif de sa venue dans l'appartement de l'intimée (il avait tout d'abord expliqué qu'elle l'avait invité à boire un café, puis qu'il s'y était rendu pour récupérer le téléphone qu'il lui avait prêté; cf. jugement entrepris, consid. 4.3 p. 28).
Au vu de ce qui précède, le grief soulevé à l'encontre de sa condamnation à raison des faits commis le 13 octobre 2015 au préjudice de B._ est rejeté, dans la mesure où il est recevable.
3.
Invoquant la constatation incomplète et erronée des faits, l'arbitraire et la violation du principe " in dubio pro reo ", le recourant discute sa condamnation pour l'infraction de viol au préjudice de D._.
3.1. Il n'est pas contesté que, le 28 janvier 2018, D._ et le recourant se sont rendus au domicile de ce dernier et qu'ils se sont à un moment donné retrouvés assis sur le canapé, où ils se sont embrassés. Les versions divergent quant à la suite des événements.
La cour cantonale a constaté que lors de sa première audition, le recourant avait expliqué que D._ avait ensuite commencé à lui caresser le sexe, qu'il avait caressé le sien et qu'ils s'étaient déshabillés. Il avait indiqué qu'il l'avait ensuite pénétrée mais qu'elle lui avait dit qu'elle avait mal et qu'il s'était de ce fait retiré et n'avait " même pas forcé ". Il avait encore précisé qu'elle lui avait demandé d'arrêter juste après qu'il l'ait pénétrée et que, jusqu'à ce moment-là, tout était normal et s'était passé comme d'habitude. Le recourant avait encore ajouté qu'il avait fait deux va-et-vient avant de se retirer et qu'il ne pensait pas avoir éjaculé en elle. Entendu par le procureur le 17 mai 2018, le recourant avait confirmé les déclarations qu'il avait faites précédemment, soit qu'il avait eu un rapport sexuel avec D._, qu'elle lui avait demandé d'arrêter pendant l'acte et qu'elle ne lui avait auparavant jamais dit qu'elle ne voulait pas entretenir de relation. Lors des débats de première instance, le recourant avait toutefois modifié sa version. Il avait en effet expliqué que D._ lui avait demandé d'arrêter parce qu'elle ne se sentait pas bien, qu'elle le lui avait dit au moment où il allait la pénétrer et qu'il ne l'avait en définitive pas pénétrée. La cour cantonale a donc considéré que le recourant n'avait pas été constant dans ses déclarations, que cette inconstance ne portait pas sur un point de détail et qu'elle remettait dès lors sérieusement en cause sa crédibilité.
D._ avait quant à elle exposé que lorsque le recourant avait voulu aller plus loin, elle lui avait dit qu'elle ne voulait pas entretenir de relations sexuelles avec lui, qu'il n'en avait pas tenu compte et l'avait allongée sur le canapé, qu'il lui avait retiré son leggings et son string, qu'elle avait tenté de le repousser physiquement, sans y parvenir, qu'après avoir passé ses mains sur son sexe, il avait commencé à la pénétrer tandis qu'elle essayait toujours de le repousser et lui disait d'arrêter et qu'après avoir compris qu'il ne s'arrêterait pas, elle avait cessé de le repousser et s'était résignée. L'autorité précédente a considéré que la version de D._ était nuancée et ne comportait aucune trace d'exagération. Elle avait en particulier reconnu qu'elle avait dans un premier temps accepté d'embrasser le recourant. Son récit comportait en outre de nombreux détails concrets qui en renforçaient la crédibilité. D._ avait par ailleurs su faire part de ses doutes lorsqu'elle en avait et elle avait livré une version constante au fil de ses auditions. Lors de l'audience d'appel, la cour cantonale a constaté que D._ était très émue et affectée d'avoir à se présenter une nouvelle fois devant une autorité judiciaire pour parler de cet épisode manifestement toujours douloureux, alors qu'elle avait souhaité tourner la page en retirant sa plainte et son appel joint. Elle était apparue sincère aux juges cantonaux lorsqu'elle avait confirmé ses précédentes déclarations et affirmé n'avoir jamais menti.
La cour cantonale a ainsi retenu que D._ avait livré une version claire, précise, nuancée et constante des faits qu'elle reprochait au recourant. Cette version n'avait rien d'artificiel. Les déclarations de D._ se révélaient ainsi parfaitement crédibles et entièrement convaincantes.
3.1.1. Le recourant soutient que le récit de D._ contient des contradictions et incohérences. Tout d'abord, selon le rapport du médecin de l'hôpital du 29 janvier 2018, le recourant avait éjaculé au niveau vaginal puis s'était retiré. Or, par-devant la police et le procureur, D._ avait déclaré qu'elle ne savait pas s'il avait éjaculé mais qu'il lui semblait que tel était le cas. Par-devant les juges de première instance, elle avait déclaré qu'elle ne savait s'il avait éjaculé, eu un orgasme et si elle avait eu des traces de sperme sur elle quand elle était allée à la salle de bain.
La cour cantonale a constaté que le rapport rédigé le 29 janvier 2018 par les médecins du département de gynécologie obstétrique avait été requis par le ministère public et n'a pas été relu ni vérifié par D._ avant sa production. Le fait que ce rapport mentionne que le recourant aurait éjaculé alors que la prénommée avait, lors de ses trois auditions, affirmé qu'elle n'en était pas sûre, respectivement qu'elle ne savait pas, ne permettait donc pas de conclure à une inconstance dans ses déclarations.
Quoi qu'en pense le recourant, il était pertinent de relever que l'intimée n'avait pas relu ni vérifié le rapport médical avant sa production. Cela signifie, en effet, qu'en ce qui concerne les propos attribués à une partie, il ne présente pas les mêmes garanties d'exactitudes qu'un procès-verbal relu et signé par la personne entendue. C'est à raison que la cour cantonale a considéré qu'on ne saurait dès lors opposer le contenu de ce rapport aux autres déclarations de D._ pour en déduire une contradiction. En tout état, dite contradiction n'est pas flagrante (elle le serait davantage si la prénommée avait déclaré devant les autorités être certaine que le recourant n'avait pas éjaculé, ce qui n'est précisément pas le cas). L'appréciation de ce moyen de preuve par la cour cantonale n'apparaît donc pas arbitraire.
3.1.2. Le recourant relève que D._ avait indiqué à la police qu'elle n'avait auparavant pas rencontré le recourant chez sa soeur alors que des SMS échangés entre les parties attestaient du contraire. D._ avait en outre expliqué qu'elle voyait le recourant en cachette car sa famille ne l'accepterait pas, mais avait également déclaré à une reprise qu'elle ne voulait pas se cacher. Enfin, l'intéressée avait déclaré au procureur qu'elle avait évoqué les faits avec son médecin généraliste alors que celui-ci a indiqué, dans son rapport médical, qu'elle ne lui avait pas parlé des faits survenus. Il y voit des incohérences et contradictions conduisant à douter de la crédibilité de D._.
La cour cantonale a considéré que la question de savoir si D._ avait rencontré le recourant chez sa soeur ou non portait sur un point parfaitement secondaire et mineur, qui plus est totalement étranger au déroulement des faits reprochés au recourant. Cette appréciation n'apparaît pas insoutenable et vaut d'ailleurs également en ce qui concerne les autres " contradictions " soulevées par le recourant. En effet, aucun des points qu'il relève ne concerne le récit que D._ a livré des faits litigieux. Cela vient ainsi confirmer la constatation de la cour cantonale à propos de la constance des déclarations de la prénommée concernant le viol qu'elle dit avoir subi. La cour cantonale n'a pas versé dans l'arbitraire en considérant que les quelques incohérences que le recourant a pu trouver dans les déclarations de l'intimée, périphériques aux faits litigieux, ne portaient pas atteinte à la crédibilité du récit de D._ en lien avec l'infraction dénoncée.
3.1.3. Le recourant fait grief à la cour cantonale d'avoir retenu que le fait que D._ ait rapporté qu'après l'agression, il était frustré, mutique et de mauvaise humeur n'avait rien d'illogique, considérant que le recourant n'était parvenu à obtenir qu'une relation sexuelle sous contrainte, alors qu'il espérait manifestement une relation sexuelle consentie. La cour cantonale aurait dû constater que ce n'était pas la première fois que l'intimée acceptait des préliminaires avant de changer d'avis, étant admis par les deux parties que dans ces cas-là, le recourant montrait sa frustration mais acceptait d'arrêter. Partant, si le recourant était contrarié après les faits litigieux, c'était parce qu'il n'avait pas eu de relation sexuelle avec D._ - ce qu'avaient d'ailleurs retenu les premiers juges. Il n'aurait manifestement pas adopté ce comportement s'il était réellement coupable des actes dont la prénommée l'accusait.
Par cette argumentation, le recourant ne fait qu'opposer sa propre interprétation des faits à celle de la cour cantonale. Il procède ainsi de manière appellatoire, partant irrecevable. Au demeurant, la cour cantonale a simplement constaté que dans l'hypothèse de la commission de l'infraction, il n'était pas illogique que le recourant soit contrarié. En outre, le fait qu'il soit déjà arrivé que D._ demande à interrompre les préliminaires et que le recourant y ait alors consenti n'exclut nullement que le jour en question, le recourant ait décidé de passer outre le refus de celle-ci et qu'il en ait conçu un certain agacement. Les constatations cantonales n'ont rien d'arbitraire.
3.1.4. Le recourant rappelle que, comme D._ l'a expliqué, elle ne souhaitait pas que sa famille apprenne sa relation avec lui, car il n'était ni musulman ni albanais. Dans ce contexte, le recourant estime, comme il l'a déclaré devant le ministère public, que si D._ l'accuse de viol, c'est parce qu'après les faits, il ne l'a pas ramenée chez elle à K._ mais l'a déposée à la gare de L._. Elle avait été contrainte d'appeler sa famille pour qu'on vienne la chercher et avait dû trouver une explication à son déplacement chez lui. Selon lui, D._ avait donc inventé une histoire de viol parce qu'il l'avait mise dans une position délicate vis-à-vis de sa famille en ne la ramenant pas jusque chez elle.
Selon les déclarations de D._ à la police, celle-ci avait appelé sa soeur et son amie et leur avait immédiatement expliqué ce qui s'était passé. La prénommée n'a donc pas cherché à expliquer sa présence à L._ d'une autre manière qu'en admettant être allée chez le recourant. Elle aurait pu inventer un prétexte, ou alors n'appeler que son amie et non sa soeur s'il lui importait de cacher cette relation à sa famille. D._ a encore expliqué que sa soeur lui avait immédiatement conseillé d'appeler la police mais qu'au début, elle ne voulait pas le faire en rapport avec sa famille (procès-verbal d'audition du 29 janvier 2018, p. 4-5). On comprend donc que ce n'est pas le fait d'avoir dû demander à sa soeur de venir la chercher qui conduisait à révéler sa relation avec le recourant à sa famille, mais celui de déposer plainte. Pour autant, D._ n'a pas hésité longtemps et est allée faire une déposition à la police le lendemain des faits tout en sachant qu'ainsi, son histoire avec le recourant serait révélée.
Considérant ce qui précède, l'hypothèse du recourant par laquelle il veut expliquer pourquoi il a été dénoncé par D._ est non seulement largement appellatoire mais, au surplus, émaillée d'incohérences. Elle ne saurait, partant, démontrer l'arbitraire de l'état de fait cantonal.
3.1.5. Le recourant se prévaut encore du fait que l'examen gynécologique de D._ ne fait état d'aucune lésion. Il n'en tire toutefois aucune déduction, en particulier il n'affirme pas que cela exclurait une relation sexuelle forcée, ce que le rapport, du reste, ne dit pas.
3.2. En définitive, le recourant ne démontre pas que la cour cantonale serait tombée dans l'arbitraire en considérant que D._ avait livré une version claire, précise, nuancée et constante des faits qu'elle reprochait au recourant. La cour cantonale a d'ailleurs pu constater l'émotion qui étreignait la jeune femme lorsqu'elle s'est exprimée devant elle et lui a donné l'impression qu'elle était sincère. Le recourant ne conteste par ailleurs nullement que la divergence dans sa version des faits en ce qui concerne la question de savoir s'il a ou non pénétré D._ remettait sérieusement en question sa crédibilité.
Compte tenu de ce qui précède, la cour cantonale n'a pas violé l'art. 9 Cst. ni le principe de présomption d'innocence en concluant à la culpabilité du recourant en ce qui concerne l'infraction de viol sur la personne de D._. Le grief est rejeté dans la mesure de sa recevabilité.
4.
Dans l'hypothèse où sa condamnation pour viol sur D._ devait être confirmée, le recourant requiert qu'il soit renoncé à son expulsion en application des <ref-law>, 5 al. 2 Cst., 8 CEDH et 13 Cst.
4.1. Selon l'art. 66a al. 1 let. h CP, le juge expulse de Suisse l'étranger qui est condamné notamment pour contrainte sexuelle (<ref-law>) et viol (<ref-law>), quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans.
Les nouvelles dispositions sur l'expulsion (<ref-law>) sont entrées en vigueur le 1er octobre 2016. Le juge ne peut prononcer l'expulsion que si l'auteur a commis l'infraction déterminante après l'entrée en vigueur de ces normes (<ref-ruling> consid. 3.2.2 p. 315).
Il s'ensuit que dans le cas d'espèce, seule l'infraction de viol au préjudice de D._ entraîne l'expulsion obligatoire du recourant, les infractions de viol et contrainte sexuelle commises au détriment de B._, qui tombent également dans le catalogue d'infractions de l'<ref-law>, étant antérieures au 1er octobre 2016.
4.2. L'<ref-law> prévoit que le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave (première condition) et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse (deuxième condition). A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse. Les conditions posées par cette disposition sont cumulatives (<ref-ruling> consid. 3.3 p. 339).
La clause de rigueur permet de garantir le principe de la proportionnalité (cf. art. 5 al. 2 Cst.; <ref-ruling> consid. 3.4.2 p. 108; <ref-ruling> consid. 3.3.1 p. 340). Elle doit être appliquée de manière restrictive (<ref-ruling> consid. 3.4.2 p. 108; <ref-ruling> consid. 3.3.1 p. 340). Selon la jurisprudence du Tribunal fédéral, il convient de s'inspirer des critères énoncés à l'art. 31 al. 1 de l'ordonnance relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201) et de la jurisprudence y relative, dans le cadre de l'application de l'<ref-law>. L'art. 31 al. 1 OASA prévoit qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. L'autorité doit tenir compte notamment de l'intégration du requérant selon les critères définis à l'art. 58a al. 1 de la loi fédérale sur les étrangers et l'intégration (LEI; RS 142.20), de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'État de provenance. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (<ref-ruling> consid. 3.3.2 p. 340 s.; arrêt 6B_1369/2019 du 22 janvier 2020 consid. 2.3.1). En règle générale, il convient d'admettre l'existence d'un cas de rigueur au sens de l'<ref-law> lorsque l'expulsion constituerait, pour l'intéressé, une ingérence d'une certaine importance dans son droit au respect de sa vie privée et familiale garanti par la Constitution fédérale (art. 13 Cst.) et par le droit international, en particulier l'art. 8 CEDH (arrêts 6B_379/2021 du 30 juin 2021 consid. 1.2; 6B_1142/2020 du 12 mai 2021 consid. 6.2.2; 6B_708/2020 du 11 mars 2021 consid. 5.1).
Selon la jurisprudence, pour se prévaloir du droit au respect de sa vie privée au sens de l'art. 8 par. 1 CEDH, l'étranger doit établir l'existence de liens sociaux et professionnels spécialement intenses avec la Suisse, notablement supérieurs à ceux qui résultent d'une intégration ordinaire. Le Tribunal fédéral n'adopte pas une approche schématique qui consisterait à présumer, à partir d'une certaine durée de séjour en Suisse, que l'étranger y est enraciné et dispose de ce fait d'un droit de présence dans notre pays. Il procède bien plutôt à une pesée des intérêts en présence, en considérant la durée du séjour en Suisse comme un élément parmi d'autres et en n'accordant qu'un faible poids aux années passées en Suisse dans l'illégalité, en prison ou au bénéfice d'une simple tolérance (cf. <ref-ruling> consid. 4.3 p. 24; arrêt 6B_1142/2020 précité consid. 6.2.3). Un séjour légal de dix années suppose en principe une bonne intégration de l'étranger (<ref-ruling> consid. 3.9 p. 278).
4.3. La cour cantonale a constaté que le recourant vivait depuis 2004 en Suisse, où résidaient également sa mère et ses deux soeurs. Il disposait d'un permis C. Son intégration professionnelle restait médiocre, puisque l'activité indépendante qu'il déployait ne lui permettait pas de subvenir seul à ses besoins et le contraignait encore à recourir à l'aide financière de tiers. Pour le reste, il était célibataire, sans charge de famille et il ne se prévalait pas de liens sociaux particulièrement intenses en Suisse. Le recourant avait par ailleurs suivi une partie de sa scolarité au Cameroun, puisqu'il avait quitté son pays à l'âge de 11 ans. Sa réinsertion dans son pays d'origine serait facilitée par ses relations avec ses cousins sur place, avec qui il entretenait toujours des contacts réguliers. Il pourrait également faire valoir son expérience en tant qu'indépendant, ayant l'habitude d'effectuer des travaux de différentes sortes et probablement exercer sa profession de charpentier au Cameroun. Au surplus, l'intérêt public marqué à ce que le recourant quitte le territoire suisse était important. Les infractions commises par le recourant étaient en effet particulièrement graves. Il avait en particulier par deux fois porté atteinte à l'intégrité sexuelle de jeunes femmes. Il avait en outre récidivé en cours d'enquête. Sa prise de conscience était inexistante. Il était manifestement incapable de résister à ses pulsions et de respecter les autres ainsi que l'ordre juridique. Partant, l'autorité précédente a jugé que l'intérêt public à l'expulsion du recourant l'emportait sur son intérêt privé à demeurer en Suisse.
4.4. En insistant sur sa prétendue bonne intégration sociale et professionnelle en Suisse ainsi que sur l'absence de danger qu'il représente pour la société, le recourant se limite principalement, dans ses développements, à opposer sa propre appréciation à celle de la cour cantonale. Une telle démarche, appellatoire, n'est pas admissible et est irrecevable dans le recours en matière pénale.
4.5. Pour le reste, il y a lieu de constater que le recourant peut se prévaloir d'une longue durée de séjour en Suisse, où il a passé une partie de son enfance et terminé sa scolarité avant de suivre une formation de charpentier. Il a donc en partie grandi en Suisse, ce dont il y a lieu de tenir compte. Par ailleurs, le recourant dispose d'un permis d'établissement et exerce une activité lucrative. Sa mère et ses soeurs vivent en Suisse, tandis que ses plus proches parents au Cameroun sont des cousins. Dans cette mesure, on peut admettre que l'expulsion est susceptible de porter atteinte au respect de la vie privée du recourant au sens de l'art. 8 par. 1 CEDH et de le placer dans une situation personnelle grave au sens de l'<ref-law>. Il convient dès lors d'examiner si les intérêts publics à l'expulsion l'emportent sur l'intérêt privé de l'étranger à demeurer en Suisse, respectivement si une restriction au droit garanti par l'art. 8 par. 1 CEDH respecte le principe de proportionnalité.
En ce qui concerne l'intérêt personnel du recourant à demeurer dans ce pays, les éléments à prendre en compte se recoupent largement avec ceux ayant conduit à retenir l'existence d'une situation personnelle grave en cas d'expulsion. La cour cantonale a cependant relevé avec pertinence que le recourant vivait seul et n'avait pas de charge de famille. Malgré son activité de charpentier, sa mère, l'une de ses soeurs et des amis lui prêtent de l'argent lorsqu'il ne s'en sort pas. Il a indiqué avoir des dettes envers des amis pour un montant de l'ordre de 30'000 fr. (jugement entrepris, p. 19), si bien que sa situation financière en Suisse apparaît mitigée. Par ailleurs, si la soeur jumelle du recourant a déclaré que son frère et elle n'avaient pas de contact avec leurs cousins au Cameroun, en revanche, celui-ci a admis qu'il entretenait des relations avec eux par l'intermédiaire des réseaux sociaux (jugement entrepris, p. 6), de sorte que la constatation de la cour cantonale en ce sens n'a rien d'arbitraire. Le recourant est jeune et aucun problème de santé particulier n'a été constaté. En outre, comme relevé dans le jugement entrepris, il pourra tirer profit de sa formation et de son expérience en tant qu'indépendant dans son pays d'origine. Ses possibilités de réintégration au Cameroun n'apparaissent donc pas mauvaises.
Sous l'angle de l'intérêt public à l'expulsion du recourant, il faut tenir compte, en particulier, de la nature et de la gravité particulière de l'infraction entraînant l'expulsion obligatoire, mais également des autres infractions commises, en particulier celles portant atteinte à l'intégrité sexuelle, de la peine privative de liberté conséquente prononcée à son égard (cinq ans), et du pronostic très mitigé concernant son avenir, découlant du défaut de prise de conscience et de la récidive en cours d'enquête (cf. jugement attaqué, consid. 8.3 p. 46). Au vu de la peine infligée (supérieure à un an), l'autorisation d'établissement du recourant pourrait être révoquée sur la base de l'art. 63 al. 1 let. b LEI (cf. l'arrêt publié aux <ref-ruling> consid. 2.1 p. 147, selon lequel constitue une " peine privative de liberté de longue durée " toute peine dépassant un an d'emprisonnement). L'intérêt public à l'éloignement du recourant est donc important.
En définitive, au regard de la persistance du recourant à violer l'ordre juridique suisse, de la gravité des faits pour lesquels il a été condamné et du danger qu'il représente pour un bien juridique important (l'intégrité sexuelle) - la cour cantonale ayant constaté qu'il ne parvenait pas à maîtriser ses pulsions - mais également de ses possibilités de réinsertion dans son pays d'origine, la cour cantonale pouvait valablement estimer que l'intérêt public à expulser le recourant primait sur son intérêt privé à rester en Suisse (seconde condition de l'<ref-law>). Dans cette mesure également, la cour cantonale n'a pas violé l'art. 8 CEDH en ordonnant son expulsion. Pour le surplus, le recourant ne discute pas de la durée de la mesure - par 8 ans - prononcée à son encontre.
5.
Enfin, le recourant ne discute pas la quotité de la peine prononcée pour les infractions retenues.
6.
En conséquence, le recours doit être rejeté dans la mesure où il est recevable. Le recourant, qui succombe, doit supporter les frais judiciaires (<ref-law>). Il n'y a pas lieu d'allouer des dépens aux intimées qui n'ont pas été invités à procéder (<ref-law>). Enfin, la cause étant tranchée, la demande d'effet suspensif est sans objet, à supposer qu'elle en eût un, le recours étant de plein droit suspensif tant en ce qui concerne la condamnation à une peine privative de liberté ferme (<ref-law>) que la mesure d'expulsion.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 19 juillet 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
La Greffière : Musy