Fatti:
A.
A._, cittadino italiano nato nel 1975, è in Svizzera dal 1984 e da quel momento dispone di un permesso di domicilio. Egli ha problemi di tossicodipendenza da quando aveva 14/15 anni.
Durante il suo soggiorno nel nostro Paese, A._ è stato più volte senza fissa dimora e a carico dell'aiuto sociale (nel gennaio 2004, dal marzo 2005 all'agosto 2008, e ancora dal marzo 2011). Sul piano scolastico, ha seguito una formazione come segretario d'albergo, comprensiva di diversi stages, conclusa nel 1998. Tra il 2005 e il 2008 ha quindi frequentato la scuola alberghiera, conseguendo il relativo diploma. In precedenza (2000-2004), ha lavorato in ambito commerciale e bancario senza però mantenere i propri impieghi a causa della dipendenza da sostanze stupefacenti.
B.
Da quando si trova in Svizzera, A._ ha occupato le autorità amministrative e penali nei seguenti termini:
decreto d'accusa del 24 novembre 2004: ritenuto colpevole di infrazione e contravvenzione alla legge federale del 3 ottobre 1951 sugli stupefacenti e le sostanze psicotrope (LStup; RS 812.121) (per avere venduto, il 9-10 giugno 2003, 0.2 g di eroina e 0.6 g di cocaina e offerto, nel periodo inizio 2003-10 giugno 2003, almeno 5 g di eroina e 2 g di cocaina; per avere consumato personalmente, nel periodo tra il 1° ottobre 2002 e il 10 giugno 2003, un quantitativo imprecisato di eroina e cocaina e per essere stato in possesso, nel giugno 2003, di 3.94 g netti di eroina e di 1.12 g di cocaina destinati al consumo personale); condannato a una pena di dieci giorni di detenzione, sospesa condizionalmente con un periodo di prova di due anni;
14 dicembre 2006: revoca, a tempo indeterminato, della licenza di condurre;
decreto d'accusa del 13 agosto 2007: ritenuto colpevole di violenza o minaccia contro le autorità e i funzionari (18-21 settembre 2006), guida in stato di inattitudine (21 settembre 2006), infrazione alle norme della circolazione (21 settembre 2006) e contravvenzione alla LStup (18-21 settembre 2006); condannato a una pena pecuniaria di 50 aliquote giornaliere da fr. 30.-- ciascuna, sospesa condizionalmente con un periodo di prova di quattro anni, e a una multa di fr. 1'000.--;
decreto d'accusa del 24 febbraio 2014: ritenuto colpevole di guida in stato di inattitudine (esame dell'alito, 1.35 g o/oo), elusione di provvedimenti per accertare l'inattitudine alla guida (per essersi opposto intenzionalmente all'analisi delle urine e alla prova del sangue) e guida senza autorizzazione (fatti avvenuti il 2 novembre 2013); condannato a una pena pecuniaria di 90 aliquote giornaliere da fr. 90.-- ciascuna;
6 marzo 2015: ammonimento dipartimentale, confermato su ricorso dal Consiglio di Stato ticinese, con l'avvertenza che, in caso di ulteriore infrazione all'ordine pubblico, sarebbe stata presa in considerazione la revoca del permesso di domicilio;
sentenza della Corte di appello e di revisione penale del 18 ottobre 2017 (su ricorso contro la sentenza del 18 ottobre 2016 della Corte delle assise criminali di Bellinzona) : ritenuto colpevole di infrazione aggravata alla LStup, contravvenzione alla LStup (per avere, tra l'8 dicembre 2010 e il 4 agosto 2014, ripetutamente acquistato, posseduto, detenuto, preparato,·alienato, rispettivamente, procurato in altro modo a terzi, un quantitativo imprecisato di eroina, valutato in almeno 919 g [infrazione aggravata]; inoltre per avere, tra il 18 ottobre 2013 e il 17 ottobre 2016, consumato 70 g di eroina e 20 g di cocaina, nonché importato in Svizzera 2 pastiglie di ecstasy e 14.77 g netti di cocaina [contravvenzione]), nonché infrazione alla legge federale del 20 giugno 1997 sulle armi (LArm; RS 514.54) (per avere, nel periodo tra il 18 ottobre 2009 e il 4 agosto 2014, a Bellinzona e in altre località, posseduto un apparecchio ad elettroshock taser); condannato a una pena detentiva di due anni e nove mesi (a valere quale pena parzialmente aggiuntiva a quella inflitta con decreto d'accusa del 24 febbraio 2014) e a una multa di fr. 300.--.
C.
Preso atto di quest'ultima condanna, con decisione del 6 agosto 2018 la Sezione della popolazione del Dipartimento delle istituzioni del Cantone Ticino ha revocato a A._ il permesso di domicilio di cui disponeva, intimandogli di lasciare la Svizzera al momento della scarcerazione, prevista per il 25 luglio 2020.
La revoca è stata in seguito tutelata sia dal Governo (19 dicembre 2018) che dal Tribunale amministrativo ticinese (2 dicembre 2020).
D.
Con ricorso in materia di diritto pubblico del 25 gennaio 2021, A._ si è quindi rivolto al Tribunale federale, chiedendo che, in riforma del giudizio impugnato, la revoca del permesso di domicilio venga annullata. Domanda inoltre la concessione dell'effetto sospensivo al gravame e l'assistenza giudiziaria.
La Corte ticinese si è riconfermata nelle motivazioni e nelle conclusioni della propria sentenza. Ad essa ha fatto in sostanza rinvio anche la Sezione della popolazione. Il Consiglio di Stato si è invece rimesso al giudizio del Tribunale federale. Con decreto del 27 gennaio 2021 è stato conferito l'effetto sospensivo al gravame, mentre il 28 gennaio successivo, al fine di aggiornare la situazione in merito alla dipendenza dall'aiuto sociale, le autorità migratorie ticinesi hanno trasmesso al Tribunale federale della nuova documentazione.
Diritto:
1.
1.1. Presentata nei termini (art. 46 cpv. 1 lett. c in relazione con l'art. 100 cpv. 1 LTF) dal destinatario della decisione querelata (art. 89 cpv. 1 LTF), l'impugnativa è ammissibile quale ricorso in materia di diritto pubblico (art. 82 segg. LTF). Concerne infatti la revoca di un permesso che, avendo durata illimitata, continuerebbe a produrre effetti giuridici (art. 83 lett. c n. 2 LTF; DTF 135 II 1 consid. 1.2.1).
1.2. La richiesta, formulata in subordine al p.to 15 (pag. 8) del ricorso, di concessione di un permesso per "motivi gravi", in applicazione dell'art. 20 dell'ordinanza del 22 maggio 2002 sull'introduzione della libera circolazione delle persone (OLCP; RS 142.203) non può essere tuttavia esaminata. La menzionata norma non conferisce infatti nessun diritto di soggiorno ai sensi dell'art. 83 lett. c n. 2 LTF (sentenza 2C_926/2020 dell'8 dicembre 2020 consid. 1.2).
2.
2.1. Di principio, il Tribunale federale applica il diritto federale d'ufficio (art. 106 cpv. 1 LTF); nondimeno, tenuto conto dell'onere di allegazione e motivazione posto dalla legge (art. 42 cpv. 1 e 2 LTF), si confronta di regola solo con le censure sollevate. Esigenze più severe valgono tuttavia in relazione alla violazione di diritti fondamentali. In effetti, esso tratta simili critiche solo se sono motivate con precisione (art. 106 cpv. 2 LTF; DTF 143 II 283 consid. 1.2.2; 142 III 364 consid. 2.4).
Per quanto concerne i fatti, il Tribunale federale fonda il suo ragionamento giuridico sull'accertamento che è stato svolto dall'autorità inferiore (art. 105 cpv. 1 LTF). Può scostarsene quando è stato eseguito in violazione del diritto ai sensi dell'art. 95 LTF o in modo manifestamente inesatto, ovvero arbitrario, profilo sotto il quale viene esaminato anche l'apprezzamento delle prove (DTF 136 III 552 consid. 4.2). A meno che non ne dia motivo la decisione impugnata (art. 99 cpv. 1 LTF), non può neppure tenere conto di fatti o mezzi di prova nuovi, che non possono in ogni caso essere posteriori al querelato giudizio (cosiddetti "nova in senso proprio"; DTF 133 IV 343 consid. 2.1).
2.2. Il gravame rispetta i requisiti in materia di motivazione menzionati solo in parte. Nella misura in cui li disattende, sfugge quindi a un esame di questa Corte federale.
Dato che l'insorgente si limita a definirli "incompleti" (ricorso p.to 5 pagg. 3-4) e quindi non li mette validamente in discussione - con motivazione conforme all'art. 106 cpv. 2 LTF, che ne dimostri un accertamento rispettivamente un apprezzamento arbitrario - i fatti che emergono dal giudizio impugnato vincolano inoltre il Tribunale federale anche nel caso concreto (art. 105 cpv. 1 LTF; sentenza 2C_256/2018 del 14 settembre 2020 consid. 2.3, dalla quale risulta che, senza specifiche critiche, pure aggiunte e precisazioni non possono essere considerate). D'altra parte, le condizioni previste dall'art. 99 cpv. 1 LTF non sono adempiute rispettivamente dimostrate, di modo che considerati non possono essere neanche i nuovi documenti allegati al ricorso e relativi al merito. Quelli con data successiva al 2 dicembre 2020 (certificati medici del 18 e 21 gennaio 2021) sono del resto inammissibili anche per questo motivo (cosiddetti nova in senso proprio; DTF 133 IV 343 consid. 2.1). Per la stessa ragione, escluso è infine l'esame della documentazione del 22 gennaio 2021, trasmessa a questa Corte il 28 gennaio successivo dalle autorità migratorie per aggiornare la situazione in merito alla dipendenza dall'aiuto sociale.
3.
La procedura ha per oggetto la revoca del permesso di domicilio di un cittadino italiano residente in Svizzera dal 1984.
3.1. Il 1° gennaio 2019 è entrata in vigore la revisione della legge federale del 16 dicembre 2005 sugli stranieri (vLStr; RS 142.20), rinominata legge federale sugli stranieri e la loro integrazione (LStrI). Giusta l'art. 126 cpv. 1 LStrI, alle domande presentate prima di tale data permane però applicabile il diritto anteriore. In caso di revoca di un permesso di domicilio, è determinante il momento in cui è stata avviata la procedura (sentenza 2C_85/2021 del 7 maggio 2021 consid. 4.1). Dato che la pronuncia della revoca risale in casu al 6 agosto 2018 (precedente consid. C) questa vertenza è quindi retta dal diritto previgente (sentenza 2C_1105/2018 del 21 giugno 2021 consid. 2.1).
3.2. L'art. 63 cpv. 2 vLStr, prevede che il permesso di domicilio di uno straniero che soggiorna regolarmente e ininterrottamente da oltre 15 anni in Svizzera può essere revocato soltanto per i motivi di cui al capoverso 1 lett. b della medesima norma, cioè se ha violato gravemente o espone a pericolo l'ordine e la sicurezza pubblici in Svizzera o all'estero o costituisce una minaccia per la sicurezza interna o esterna della Svizzera, rispettivamente se, in base all'art. 62 cpv. 1 lett. b vLStr, è stato condannato a una pena detentiva di lunga durata. Una pena privativa della libertà è considerata di lunga durata se è stata pronunciata per più di un anno, a prescindere dal fatto che la pena comminata sia stata sospesa in tutto o in parte oppure che la stessa vada o sia stata espiata (DTF 135 II 377 consid. 4.2).
3.3. Siccome l'autorizzazione di domicilio non è regolata nell'accordo del 21 giugno 1999 sulla libera circolazione delle persone (ALC; RS 0.142.112.681), i motivi indicati sono validi anche per la revoca di un permesso di domicilio CE/AELS (art. 2 cpv. 2 vLStr; art. 5 e 23 cpv. 2 OLCP; sentenza 2C_209/2020 del 20 agosto 2020 consid. 3.2). In simile contesto, assume ciò nondimeno rilievo l'art. 5 allegato I ALC, secondo cui i diritti conferiti dall'accordo possono essere limitati solo da misure giustificate da ragioni di ordine pubblico, pubblica sicurezza e sanità (DTF 139 II 121 consid. 5.3).
3.4. Anche in presenza di motivi di revoca, una tale misura si giustifica infine solo quando è proporzionata. Nell'esercizio del loro potere discrezionale, le autorità competenti tengono conto degli interessi pubblici e della situazione personale dello straniero, considerando la gravità di quanto gli è rimproverato, la durata del suo soggiorno in Svizzera, il grado d'integrazione e il pregiudizio che l'interessato e la sua famiglia subirebbero se la misura fosse confermata (art. 96 vLStr; sentenza 2C_1105/2018 del 21 giugno 2021 consid. 4.1). Nel caso il provvedimento abbia ripercussioni sulla vita privata e/o familiare ai sensi dell'art. 8 della Convenzione europea del 4 novembre 1950 per la salvaguardia dei diritti dell'uomo e delle libertà fondamentali (CEDU; RS 0.101), analogo esame va svolto nell'ottica di questa norma (DTF 139 I 31 consid. 2.3.3 e 135 II 377 consid. 4.3).
3.5. Per contro, ad una revoca non osta nella fattispecie l'art. 63 cpv. 3 vLStr, in vigore dal 1° ottobre 2016 e che prevede che il permesso di domicilio non può essere revocato per il solo motivo che è stato commesso un reato per il quale il giudice penale ha già pronunciato una pena o una misura, ma ha rinunciato all'espulsione. In effetti, la condanna subita dal ricorrente dopo il 1° ottobre 2016 concerne più reati distinti - commessi prima e dopo tale data - ma il solo commesso dopo il 1° ottobre 2016 è costituito da una contravvenzione alla LStup (precedente consid. B), che non entra quindi né sotto l'art. 66a né sotto l'art. 66abis del codice penale svizzero del 21 dicembre 1937 (CP; RS 311.0), relativi all'espulsione obbligatoria e non obbligatoria da parte del giudice penale, in vigore anch'essi dal 1° ottobre 2016 (sentenza 2C_657/2020 del 16 marzo 2021 consid. 2).
4.
4.1. Il Tribunale amministrativo ha rilevato che l'accordo sulla libera circolazione delle persone non garantisce all'insorgente nessun diritto di soggiorno in Svizzera e non trova di conseguenza applicazione ma che, quand'anche fosse applicabile, le condizioni per una limitazione della libera circolazione (art. 5 allegato I ALC) sarebbero adempiute. Detto ciò, ha osservato che dati sono due motivi di revoca (art. 62 cpv. 1 lett. b e art. 63 cpv. 1 lett. a, in relazione con l'art. 63 cpv. 2 vLStr) e che al provvedimento non ostano né l'art. 96 vLStr né l'art. 8 CEDU.
4.2. Tenuto conto della pena privativa della libertà pronunciata nei suoi confronti il 18 ottobre 2017 (precedente consid. B; pena detentiva di due anni e nove mesi), il ricorrente a ragione non mette in discussione l'esistenza di un motivo di revoca del permesso di domicilio di cui disponeva (art. 62 cpv. 1 lett. b vLStr). Diversamente da quanto da lui sostenuto, il giudizio impugnato ha però proceduto ad una valutazione dei singoli aspetti del caso che non è criticabile nemmeno in relazione: (a) all'art. 5 allegato I ALC; (b) all'obbligo di rispettare il principio della proporzionalità; (c) all'art. 12 cpv. 4 del Patto internazionale del 16 dicembre 1966 relativo ai diritti civili e politici (Patto ONU II; RS 0.103.2); (d) al principio della buona fede e al divieto d'arbitrio.
5.
5.1. Secondo l'art. 5 allegato I ALC - la cui effettiva applicabilità alla fattispecie è litigiosa, ma non necessita di essere approfondita perché il rispetto della norma è comunque dato - una condanna può essere un motivo per limitare i diritti conferiti dall'accordo soltanto se dalle circostanze che l'hanno determinata emerge un comportamento che costituisce una minaccia reale, attuale e di una certo rilievo per l'ordine pubblico (DTF 139 II 121 consid. 5.3).
La misura dell'apprezzamento dipende dalla gravità della potenziale infrazione in discussione: tanto più questa è importante, quanto minori sono le esigenze in merito all'ammissione di un rischio di recidiva (DTF 136 II 5 consid. 4.2).
5.2. Come anticipato, una simile minaccia va però ammessa anche in casu. In effetti, alla base della condanna subita in via definitiva il 18 ottobre 2017, vi è tra l'altro la constatazione che il ricorrente ha ripetutamente acquistato, posseduto, detenuto, preparato, alienato, rispettivamente, procurato in altro modo a terzi, un quantitativo imprecisato di eroina, valutato in almeno 919 g, quindi il compimento di reati molto gravi, che richiedono un apprezzamento della recidiva altrettanto severo (DTF 136 II 5 consid. 4.2; sentenze 2C_143/2019 del 14 febbraio 2019 consid. 3.1.2 e 2C_38/2012 del 1° giugno 2012 consid. 4).
La protezione della collettività da attività dell'entità di quella per cui il ricorrente è stato sanzionato dalla Corte delle assise criminali - che non si possono ancora dire lontane nel tempo (sentenza 2C_847/2019 del 18 dicembre 2019 consid. 5.2) - costituisce infatti un interesse pubblico alla cui tutela la giurisprudenza accorda particolare importanza (DTF 122 II 433 consid. 2c; sentenza 2C_622/2014 del 27 gennaio 2015 consid. 4.2) e ciò vale anche in ambito di libera circolazione delle persone (sentenze 2C_1105/2018 del 21 giugno 2021 consid. 3.2 e 2C_481/2020 del 7 luglio 2020 consid. 5.2.3).
5.3. D'altra parte, se è vero che dopo i reati per i quali è stato sanzionato in via definitiva il 18 ottobre 2017 l'insorgente non risulta avere più delinquito, altrettanto vero è che: (a) egli non era alla prima condanna penale, ma ne aveva già subite altre tre (nel 2004, 2007 e 2014; precedente consid. B); (b) la sua liberazione condizionale è avvenuta solo il 25 luglio 2019, con la pronuncia di un periodo di prova di un anno (giudizio impugnato, p.to F e decisione del 16 luglio 2019 del Giudice dei provvedimenti coercitivi); (c) i problemi di tossicodipendenza, che hanno giocato un ruolo anche nell'attività delinquenziale, permangono irrisolti (giudizio impugnato, consid. 4.2 e 7.2.2); (d) anche dal punto di vista lavorativo la situazione non è confortante perché, nonostante le formazioni scolastiche seguite in passato, un (re) inserimento professionale non è ancora avvenuto ed egli continua a dipendere dall'aiuto sociale (giudizio impugnato, consid. 7.2.1).
Stando così le cose, le condizioni per parlare di una reale svolta nella vita del ricorrente (cosiddetta "biographische Kehrtwende") non sono infatti date e anche ammettere l'esistenza di una minaccia reale, attuale e di una certa gravità per l'ordine pubblico ai sensi dell'art. 5 allegato I ALC non presta il fianco a critica alcuna (nel medesimo senso, cfr. le sentenze 2C_634/2018 del 5 febbraio 2019 consid. 5.2.2 e 2C_939/2017 del 21 dicembre 2018 consid. 7.2 seg.; e contrario, cfr. invece le sentenze 2C_617/2020 del 3 marzo 2021 consid. 4.2 e 2C_597/2018 del 29 novembre 2018 consid. 4.4).
6.
6.1. In relazione al principio della proporzionalità, il cui rispetto è qui richiesto sia dall'art. 96 vLStr che dall'art. 8 CEDU, che il ricorrente può richiamare a tutela della sua vita privata (DTF 144 I 266), il primo criterio per valutare la gravità della colpa e per procedere alla ponderazione degli interessi è costituito dalla condanna inflitta (DTF 139 I 16 consid. 2.2.1 e 135 II 377 consid. 4.3; sentenza 2C_1105/2018 del 2021 del 21 giugno 2021 consid. 4.1).
La durata del soggiorno in Svizzera è un altro criterio molto importante. In effetti, tanto più lunga è la permanenza nel nostro Paese, quanto più la revoca soggiace a delle esigenze elevate (DTF 135 II 377 consid. 4.4; sentenza 2C_113/2020 del 21 aprile 2020 consid. 6.2).
6.2. Ora, nato nel 1975, l'insorgente vive stabilmente in Svizzera dal novembre del 1984. A tale aspetto, di grande rilievo, vanno però contrapposti i molteplici reati da lui perpetrati, per i quali è stato condannato dal 2004 in avanti e, in particolare, quelli che gli sono valsi la pena detentiva pronunciata nei suoi confronti il 18 ottobre 2017: (a) che per l'appunto non erano i primi (precedente consid. B); (b) che sono stati commessi durante degli anni e che sono stati (almeno in parte) interrotti solo grazie all'intervento delle autorità inquirenti (precedente consid. B); (c) che riguardavano una quantità di eroina atta a mettere in pericolo molte persone. In relazione all'infrazione aggravata alla LStup essa è stata infatti valutata in almeno 919 g, quindi molto al di sopra anche della soglia dei 12 g oltre la quale si può parlare di un caso grave giusta l'art. 19 cpv. 2 LStup (DTF 145 IV 312 consid. 2.1.3).
Simili atti - sanzionati con una pena pesante, pari a due anni e nove mesi da espiare, pronunciata già tenendo conto del fatto che il ricorrente era tossicodipendente e considerando anche una prognosi negativa - ingenerano in effetti un interesse rilevante all'allontanamento di chi li commette, anche quando questa persona sia uno straniero di seconda generazione o che da lungo tempo soggiorna nel nostro Paese, come è il caso per l'insorgente (sentenze 2C_874/2019 del 4 novembre 2019 consid. 6.2.1; 2C_878/2015 dell'11 luglio 2017 consid. 7.2 e 2C_733/2014 del 18 dicembre 2014 consid. 6.1).
6.3. Oltre che alla luce dei reati per i quali è stato condannato in questi anni, nonostante la vicinanza dei suoi familiari più stretti, l'integrazione del ricorrente va poi (ulteriormente) relativizzata in considerazione della percezione dall'aiuto sociale e della sua situazione professionale.
Come risulta dal quadro tracciato nel giudizio impugnato (consid. 5.2 e 7.2), che vincola anche il Tribunale federale (art. 105 cpv. 1 LTF; precedente consid. 2.2), da parecchi anni egli non ha infatti più un impiego fisso ed è a tutt'oggi sostenuto dall'assistenza pubblica, in relazione alla percezione di cui ha accumulato un debito che, già al momento della pronuncia governativa, ammontava a fr. 204'325.40. Se infatti è vero che in base all'art. 63 cpv. 2 vLStr la percezione dell'aiuto sociale non costituisce motivo di revoca e tale aspetto non gioca di per sé un ruolo nemmeno in relazione all'art. 5 allegato I ALC, altrettanto vero è che di esso va tenuto invece conto in relazione all'esame della proporzionalità della revoca.
6.4. Benché l'insorgente - celibe e senza figli - rilevi di avere solo pochi legami con il suo Paese, va nel contempo constatato che un trasferimento in Italia richiederà certo adattamento, ma non è improponibile.
La cultura e lo stile di vita della vicina Penisola gli sono infatti noti, perché vi ha vissuto fino a 9 anni, e non si discostano in maniera sostanziale da quelli cui è abituato. Inoltre, un trasloco nella fascia di confine, a pochi chilometri dall'attuale domicilio, permetterebbe anche di mantenere sia le relazioni con i genitori che quelle sociali, instaurate nel Cantone Ticino (sentenze 2C_336/2020 del 22 febbraio 2021 consid. 6.3.2 e 2C_887/2016 del 16 gennaio 2017 consid. 6.2.1). Sempre in questo contesto, chiaro è d'altra parte che la dipendenza dall'uso di sostanze stupefacenti potrà essere seguita pure in Italia (sentenza 2C_874/2019 del 4 novembre 2019 consid. 6.2.1).
7.
A diversa conclusione non porta infine il richiamo all'art. 12 cpv. 4 del Patto internazionale del 16 dicembre 1966 relativo ai diritti civili e politici (Patto ONU II; RS 0.103.2) e al principio della buona fede nonché al divieto d'arbitrio, per il fatto che la revoca è stata pronunciata per reati compiuti prima dell'ammonimento rispettivamente perché detto ammonimento avrebbe dimostrato di avere sortito gli effetti sperati.
7.1. L'art. 12 cpv. 4 Patto ONU II è infatti applicabile quando chi è colpito da un provvedimento di allontanamento e deve rientrare nel Paese di origine non ha più nessun punto di contatto con la sua cultura, in particolare anche sul piano linguistico (sentenze 2C_826/2018 del 30 gennaio 2019 consid. 8.2.3; 2C_568/2017 del 26 gennaio 2018 consid. 7.5.2 e 2C_94/2016 del 2 novembre 2016 consid. 3.3).
Manifestamente, così però non è nel caso che ci occupa, poiché il territorio italiano è contiguo a quello del Cantone Ticino, è caratterizzato da una cultura e da uno stile di vita che non si discostano in maniera sostanziale da quelli cui è abituato il ricorrente, e condivide con il Cantone Ticino pure la lingua (in senso conforme, cfr. la citata sentenza 2C_826/2018 del 30 gennaio 2019 consid. 8.2.3, relativa ad un cittadino germanico che viveva nella regione di Basilea).
7.2. Per quanto riguarda il principio della buona fede e il divieto d'arbitrio, va invece rilevato che le critiche sono solo abbozzate e quindi contrarie all'art. 106 cpv. 2 LTF, di modo che esse sfuggono a un esame di merito (precedente consid. 2). In relazione all'art. 96 cpv. 2 vLStr, che regola l'ammonimento e che questa Corte esamina d'ufficio, va in ogni caso rilevato quanto segue.
7.2.1. Secondo la norma citata, se un provvedimento si giustifica ma è inadeguato alle circostanze, alla persona interessata può essere rivolto un ammonimento con la comminatoria di tale provvedimento. Questa misura deve in sostanza impedire che si giunga ad un provvedimento che pone fine al soggiorno in Svizzera e, nel contempo, segnalare al suo destinatario l'esistenza di un comportamento problematico, in un momento in cui l'adozione della misura prospettata non appare ancora opportuna ( DTF 141 II 401consid. 4.2; sentenza 2C_944/2019 del 26 maggio 2020 consid. 4.1). Tuttavia, la revoca di un permesso di soggiorno non deve essere per forza preceduta da un ammonimento poiché, segnatamente davanti a dei reati gravi, può giustificarsi anche nel caso di un'unica condanna (sentenze 2C_787/2018 dell'11 marzo 2019 consid. 3.4.1 e 2C_169/2017 del 6 novembre 2017 consid. 4.5).
7.2.2. Per giurisprudenza, la pronuncia di un ammonimento si impone in particolare quando una persona soggiorna da lungo tempo in Svizzera ed ha compiuto reati che non possono essere considerati particolarmente rilevanti (sentenze 2C_787/2018 dell'11 marzo 2019 consid. 3.4.1; 2C_446/2014 del 5 marzo 2015 consid. 4.1 e 2C_283/2011 del 30 luglio 2011 consid. 2.3); ciò vale soprattutto per stranieri di seconda generazione (sentenze 2C_787/2018 dell'11 marzo 2019 consid. 3.4.1 e 2C_94/2016 del 2 novembre 2016 consid. 3.3 seg.). A dipendenza dell'interesse pubblico in gioco (compimento di reati gravi), si può però rinunciare a un ammonimento anche in questi casi (sentenza 2C_787/2018 dell'11 marzo 2019 consid. 3.4.1).
7.2.3. Ora, e come indicato nel ricorso, l'ammonimento pronunciato il 6 marzo 2015 si riferiva alle condanne subite fino a quel momento, non invece a reati precedenti, ma che sarebbero stati sanzionati successivamente. Già solo in base al principio della presunzione d'innocenza, non potrebbe però essere altrimenti (sentenze 2C_762/2016 del 31 gennaio 2017 consid. 5.3.1 e 2C_749/2011 del 20 gennaio 2012 consid. 3.3). Anche se le autorità migratorie ne fossero state a conoscenza, come pretende l'insorgente, non avrebbero quindi potuto prevalersene, poiché occorreva prima che questi fatti fossero oggetto di un accertamento definitivo e quindi di una valutazione delle autorità giudiziarie penali competenti.
7.2.4. D'altra parte, l'insorgente ha continuato a delinquere anche dopo la pronuncia dell'ammonimento del 6 marzo 2015. Come risulta dagli accertamenti di fatto contenuti nella querelata sentenza, che vincolano il Tribunale federale (art. 105 cpv. 1 LTF; precedenti consid. B e 2.2), la Corte delle assise criminali lo ha infatti riconosciuto colpevole anche di contravvenzione alla LStup per avere, tra il 18 ottobre 2013 e il 17 ottobre 2016, consumato 70 g di eroina e 20 g di cocaina, nonché importato in Svizzera 2 pastiglie di ecstasy e 14.77 g netti di cocaina, di modo che pure l'effetto deterrente del provvedimento preso nei suoi confronti - evidenziato nel gravame - dev'essere relativizzato.
7.2.5. Infine, va pure rilevato che i reati per i quali il ricorrente è stato condannato il 18 ottobre 2016 dalla Corte delle assise criminali di Bellinzona, rispettivamente il 18 ottobre 2017, dalla Corte di appello e di revisione penale (precedente consid. B), sono di per sé atti a giustificare una revoca anche senza preventivo ammonimento. Come detto, questi giudizi sanzionano infatti reati molto gravi, al cui contrasto sottende un grande interesse pubblico, e ciò vale pure quando a commetterli è uno straniero che si trova in Svizzera da lungo tempo.
7.3. Respinte tutte le critiche indirizzate contro il giudizio impugnato, lo stesso va di conseguenza confermato.
Come a ragione sottolineato dalla Corte cantonale, resta però inteso che le autorità cantonali incaricate dell'esecuzione dell'allontanamento dovranno fare il possibile, affinché venga prestata al ricorrente la necessaria assistenza e la sua salute sia quindi tutelata in maniera adeguata, se del caso anche attraverso un "passaggio di consegne" tra chi oggi lo segue in Svizzera e chi dovrà farlo in futuro, su territorio italiano (sentenze 2C_874/2019 del 4 novembre 2019 consid. 6.2.2 e 2C_615/2015 del 6 agosto 2015 consid. 2.2).
8.
Per quanto precede, il ricorso è respinto. L'istanza di assistenza giudiziaria non può essere accolta siccome il gravame doveva apparire sin dall'inizio come privo di probabilità di successo (art. 64 cpv. 1 LTF). Nell'addossare le spese giudiziarie, viene comunque considerata la situazione finanziaria del ricorrente, fissando un importo ridotto (art. 65 cpv. 1 e 2 e art. 66 cpv. 1 LTF). Non vengono assegnate ripetibili (art. 68 cpv. 3 LTF).
Per questi motivi, il Tribunale federale pronuncia:
1.
Il ricorso è respinto.
2.
La domanda di assistenza giudiziaria è respinta.
3.
Le spese giudiziarie di fr. 1'000.-- sono poste a carico del ricorrente.
4.
C omunicazione alla patrocinatrice del ricorrente, alla Sezione della popolazione del Dipartimento delle istituzioni, al Consiglio di Stato e al Tribunale amministrativo del Cantone Ticino, nonché alla Segreteria di Stato della migrazione.