Fatti:
A.
Negli anni 2015 e 2016 un flusso di rifugiati e di migranti importante ha raggiunto l'Europa, in particolare l'Italia, confrontata con innumerevoli sbarchi di persone in provenienza soprattutto da paesi africani. A partire dal mese di luglio del 2016, un numero considerevole di migranti intenzionati a raggiungere la Germania e altri paesi del Nord Europa, respinti al confine italo-svizzero di Chiasso, si è accampato in un giardino pubblico nei pressi della stazione di Como. Il 1° settembre 2016, le guardie di confine svizzere hanno fermato nelle vicinanze del valico doganale di San Pietro di Stabio un'autovettura guidata da A._ e un furgone VW guidato da un'altra persona nel quale si trovavano quattro cittadini eritrei senza passaporti né permessi validi. A._ ha dichiarato trattarsi di migranti stazionanti a Como che cercava di aiutare ad attraversare clandestinamente il confine, affinché potessero raggiungere la Germania. Ha altresì riferito di avere in precedenza aiutato in modo analogo altri migranti. In relazione a questi fatti, il Ministero pubblico del Cantone Ticino ha aperto un procedimento penale nei confronti di A._ e di altre persone.
B.
Con sentenza del 28 settembre 2017, il Giudice della Pretura penale ha riconosciuto A._ autrice colpevole di ripetuta incitazione all'entrata, alla partenza e al soggiorno illegali, per avere, nel periodo dal 18 agosto 2016 al 1° settembre 2016 a Como, Lugano, Genestrerio, Bellinzona e in altre imprecisate località svizzere, in più occasioni, facilitato e aiutato a preparare l'entrata, l'uscita, la partenza e il soggiorno illegale in Svizzera, di 24 cittadini stranieri di origine eritrea e siriana, sprovvisti dei necessari documenti di legittimazione. L'imputata è stata condannata alla pena pecuniaria di 80 aliquote giornaliere di fr. 110.-- ciascuna, per complessivi fr. 8'800.--, da dedursi il carcere preventivo di un giorno, sospesa condizionalmente per un periodo di prova di due anni, nonché alla multa di fr. 1'000.--.
C.
Con sentenza del 15 ottobre 2019, la Corte di appello e di revisione penale (CARP) ha parzialmente accolto un appello di A._ contro il giudizio di primo grado. L'imputata è stata riconosciuta autrice colpevole di ripetuto aiuto all'entrata e alla partenza illegali, per avere, nel periodo e nelle località citate, in più occasioni, facilitato e aiutato a preparare l'entrata illegale in Svizzera e l'uscita illegale dal paese, di 20 cittadini stranieri di origine eritrea e siriana, privi dei necessari documenti di legittimazione. A._ è per contro stata prosciolta dall'accusa di aiuto al soggiorno illegale. È stata condannata alla pena pecuniaria di 20 aliquote giornaliere di fr. 110.-- ciascuna, corrispondenti a complessivi fr. 2'200.--, da dedursi il carcere preventivo di un giorno, sospesa condizionalmente per un periodo di prova di due anni.
D.
Il Procuratore pubblico impugna questa sentenza, nella misura in cui proscioglie l'imputata dall'accusa di aiuto al soggiorno illegale, con ricorso in materia penale del 27 novembre 2019 al Tribunale federale. Chiede, in via principale, di annullarla e di confermare il giudizio di primo grado. In via subordinata, postula l'annullamento della sentenza impugnata e il rinvio degli atti alla Corte cantonale per un nuovo giudizio. Il ricorrente fa valere la violazione del diritto federale.
E.
La Corte cantonale ha comunicato di rinunciare a formulare osservazioni al ricorso. A._ chiede invece di respingerlo.
Diritto:
1.
La decisione impugnata, di carattere finale (art. 90 LTF), è stata pronunciata in una causa in materia penale (art. 78 cpv. 1 LTF), da un'autorità di ultima istanza cantonale (art. 80 cpv. 1 LTF). La legittimazione del ricorrente è data (art. 81 cpv. 1 lett. b n. 3 LTF). Il ricorso è tempestivo (art. 100 cpv. 1 LTF) ed è sotto i citati aspetti ammissibile.
2.
2.1. Il ricorrente contesta il proscioglimento dell'imputata dall'accusa di aiuto al soggiorno illegale. Rileva ch'ella non si sarebbe limitata ad ospitare nella sua abitazione un'unica persona per una sola notte, ma avrebbe agito ripetutamente, con premeditazione, mediante l'ausilio di correi e secondo modalità organizzative prestabilite. Sostiene che la giurisprudenza del Tribunale federale, secondo cui il reato in questione non sarebbe adempiuto nel caso di un soggiorno di breve durata, concernerebbe unicamente casi in cui gli stranieri ospitati già si trovavano illegalmente in Svizzera e intrattenevano numerose relazioni anche con altre persone. Il ricorrente adduce che, in concreto, il soggiorno degli stranieri privi di documenti presso l'abitazione dell'imputata, seppure di breve durata, sarebbe rientrato in un piano volto a nasconderli sul territorio svizzero, rendendo più difficile l'intervento dell'autorità.
2.2. Secondo l'art. 116 cpv. 1 lett. a LStrI, è punito con una pena detentiva sino a un anno o con una pena pecuniaria chiunque, in Svizzera o all'estero, facilita o aiuta a preparare l'entrata, la partenza o il soggiorno illegali di uno straniero. Nei casi di lieve entità può essere pronunciata la sola multa (art. 116 cpv. 2 LStrI; sentenza 6B_1162/2019 del 30 giugno 2020 consid. 2 destinata a pubblicazione).
La fattispecie dell'art. 116 cpv. 1 lett. a LStrI comprende di principio tutti i comportamenti che rendono più difficile la pronuncia o l'esecuzione da parte dell'autorità di una decisione nei confronti dello straniero in situazione irregolare o che limitano le possibilità di arrestarlo (DTF 130 IV 77 consid. 2.3.2 pag. 80; sentenze 6B_426/2014 del 18 settembre 2014 consid. 4 e 6B_128/2009 del 17 luglio 2009 consid. 2.2). Di massima, chi dà alloggio a una persona che soggiorna illegalmente in Svizzera, ne facilita il soggiorno illegale, sia che operi in veste di albergatore, sia che agisca in qualità di locatore o di datore di lavoro che affitta una camera. L'alloggio è infatti suscettibile di costituire, per lo straniero in condizione irregolare, un nascondiglio che gli permette di sottrarsi all'intervento delle autorità amministrative (DTF 130 IV 77 consid. 2.3.2 pag. 80 seg.). L'incitazione al soggiorno illegale presuppone tuttavia che l'autore metta a disposizione dello straniero senza autorizzazione un alloggio per un periodo di una certa durata. La messa a disposizione di un alloggio soltanto per alcuni giorni non è di regola sufficiente, siccome un simile comportamento non è di natura tale da ostacolare l'azione dell'autorità amministrativa (sentenze 6B_426/2014, citata, consid. 4 e 6B_128/2009, citata, consid. 2.2). La concessione di un riparo solo per pochi giorni non sostanzia in linea di principio una volontà di delinquere, giacché un tetto è indispensabile per l'esistenza umana e non persegue necessariamente lo scopo di favorire un soggiorno illegale. Per contro, nel caso in cui l'alloggio è messo a disposizione per una lunga durata, si può ammettere che l'irregolarità del soggiorno è prevalente (cfr. ANDREAS ZÜND, in: Migrationsrecht, 5aed. 2019, n. 2 all'art. 116 LStrI).
2.3. Secondo gli accertamenti della Corte cantonale, non censurati d'arbitrio dal ricorrente e pertanto vincolanti per il Tribunale federale (art. 105 cpv. 1 LTF), nei casi in cui l'imputata ha messo a disposizione dei migranti un alloggio a casa sua o ha previsto di farlo, il soggiorno era limitato a un'unica notte in attesa di prendere l'indomani il treno per raggiungere la Germania. Sulla base dell'esposta giurisprudenza, la CARP ha quindi ritenuto che la brevità del soggiorno, circoscritta al pernottamento in vista della ripartenza il giorno successivo, non permetteva di ritenere realizzata la fattispecie di aiuto al soggiorno illegale. Certo, risulta dai capi d'imputazione che l'ospitalità è stata offerta dall'imputata a 14 cittadini stranieri nell'arco di un periodo di due settimane. Tuttavia, in ciascun caso il soggiorno è stato limitato ad un solo pernottamento, ed era finalizzato a riprendere, il giorno dopo, il viaggio in treno per raggiungere la Germania. L'ospitalità data agli stranieri in situazione irregolare è quindi stata di breve durata e strettamente connessa all'attraversamento della Svizzera. Il riparo per una notte prestato dall'imputata non era di per sé volto a favorire il loro soggiorno illegale nel Cantone Ticino, ma rientrava nella fattispecie dell'aiuto all'entrata e alla partenza illegali giusta l'art. 116 cpv. 1 lett. a LStrI, per i quali l'imputata è stata condannata. Ricordato che, secondo la citata giurisprudenza, l'accoglienza per una sola notte non è di per sé idonea ad ostacolare l'azione dell'autorità amministrativa, la precedente istanza non ha violato il diritto federale ritenendo che l'imputata non avesse facilitato il soggiorno illegale degli stranieri in Svizzera (cfr. sentenze 6B_426/2014, citata, consid. 5 e 6B_128/2009, citata, consid. 2.3). D'altra parte, contrariamente a quanto sembra ritenere il ricorrente, prosciogliendo l'imputata dall'accusa di aiuto al soggiorno illegale, la CARP non ha ritenuto che l'infrazione fosse di lieve entità. I precedenti giudici hanno infatti rettamente escluso l'applicazione dell'art. 116 cpv. 2 LStrI, poiché l'imputata aveva comunque facilitato l'entrata e la partenza illegali di 20 stranieri in 8 occasioni. La censura ricorsuale è di conseguenza infondata.
3.
3.1. Il ricorrente critica la commisurazione della pena. Sostiene che la CARP avrebbe ammesso a torto l'attenuante dello stato di grave angustia (art. 48 lett. a n. 2 CP) e le rimprovera di non avere sufficientemente motivato la pena inflitta.
3.2. Giusta l'art. 48 lett. a n. 2 CP, il giudice attenua la pena se l'autore ha agito in stato di grave angustia. Secondo la giurisprudenza, lo stato di grave angustia è dato quando l'autore è spinto a trasgredire la legge penale da una situazione prossima allo stato di necessità, ossia nel caso in cui, sotto la pressione di un'angustia particolarmente grave, egli crede di trovare una via d'uscita soltanto commettendo l'infrazione. Per potere ammettere questa circostanza attenuante, occorre inoltre che l'autore abbia rispettato una certa proporzionalità tra i motivi che lo hanno spinto ad agire e l'importanza del bene che ha leso (DTF 110 IV 9 consid. 2 e rinvio; sentenze 6B_719/2019 del 23 settembre 2019 consid. 2.1.1 e 6S.522/2001 del 21 maggio 2002 consid. 2c).
3.3. La Corte cantonale ha rilevato che la situazione dei migranti nel giardino pubblico presso la stazione di Como era particolarmente difficile. Ha ritenuto certo e comprensibile che l'imputata, in considerazione del suo coinvolgimento emotivo e del suo stato psichico già segnato da precedenti contatti con la realtà dei migranti, si sia convinta della necessità di togliere le persone più vulnerabili da quella situazione di sofferenza e di agire subito, nell'idea che la sola via d'uscita fosse quella che implicava un'infrazione alla LStrI. La CARP ha altresì ritenuto data la proporzionalità tra i motivi che hanno spinto l'imputata ad agire e il bene protetto dalla norma violata, riconoscendo per finire l'attenuante dello stato di grave angustia.
Questa conclusione non può essere condivisa. La Corte cantonale, che ha negato l'esistenza di uno stato di necessità, ha infatti rilevato che, a Como, i migranti non correvano un pericolo per la vita e la salute e che il loro minimo esistenziale era assicurato. Ha accertato che, all'inizio del mese di agosto del 2016, le autorità italiane hanno organizzato presso la stazione di Como un presidio medico permanente e che i servizi igienici erano garantiti dai bagni della stazione, dalla posa di cabine sanitarie mobili e dalla messa a disposizione degli spogliatoi di una palestra. Ha inoltre rilevato che il cibo e gli altri generi di prima necessità erano assicurati dalle associazioni benefiche e dai privati, che i minori venivano ospitati, in particolare, presso la parrocchia di B._ e che altri migranti potevano dormire in un tendone montato nel parco. Nelle concrete circostanze, seppure coinvolta emozionalmente nella situazione vissuta dagli stranieri, l'imputata disponeva di altri mezzi legali per prestare loro aiuto ed assistenza sul posto, per esempio continuando a svolgere l'attività umanitaria già avviata in loco dalle autorità e dalle associazioni. Non poteva credere che la commissione del reato fosse l'unica via percorribile per portare soccorso ai migranti (cfr. sentenza 6B_1162/2019, citata, consid. 2.2.3). È peraltro dubbio che la scelta di aiutarli ad entrare illegalmente in Svizzera per lasciarli poi proseguire il viaggio verso la Germania e altri paesi del Nord Europa abbia portato loro un sostegno effettivo. Nella fattispecie, la Corte cantonale ha quindi ammesso a torto la circostanza attenuante dello stato di grave angustia giusta l'art. 48 lett. a n. 2 CP.
Su questo punto il ricorso è pertanto fondato. Il dispositivo relativo alla pena inflitta all'imputata deve quindi essere annullato e la causa rinviata alla CARP per un nuovo giudizio sulla commisurazione della pena, che dovrà essere nuovamente motivata (art. 50 CP).
3.4. Il ricorrente impugna formalmente anche i dispositivi concernenti la ripartizione degli oneri processuali della sede cantonale e l'indennità a favore dell'imputata. Il ricorso non contiene tuttavia una specifica motivazione su questi aspetti (art. 42 cpv. 2 LTF). D'altra parte, il rinvio della causa alla Corte cantonale per ricommisurare la pena non incide in concreto significativamente sull'esito del giudizio cantonale su questi punti e non impone pertanto una modifica dello stesso su tali aspetti. Non si giustifica quindi di annullare ulteriori punti del dispositivo della sentenza impugnata.
4.
4.1. Ne segue che il ricorso deve essere parzialmente accolto. Il dispositivo n. 1.3 (comprensivo dei punti n. 1.3.1 e 1.3.2) deve essere annullato e la causa rinviata alla Corte cantonale per una nuova decisione sulla commisurazione della pena.
4.2. Le spese giudiziarie sono poste a carico dell'opponente in misura corrispondente alla sua parziale soccombenza (art. 66 cpv. 1 LTF). Non si prelevano per contro spese giudiziarie a carico del ricorrente, parzialmente soccombente, che si è rivolto al Tribunale federale nell'esercizio delle sue attribuzioni ufficiali, senza avere alcun interesse pecuniario nella lite (art. 66 cpv. 4 LTF). Lo Stato del Cantone Ticino è tuttavia tenuto a versare all'opponente, in parte vincente, un'indennità ridotta a titolo di ripetibili della sede federale (art. 68 cpv. 1 e 2 LTF).
Per questi motivi, il Tribunale federale pronuncia:
1.
Il ricorso è parzialmente accolto. Il dispositivo n. 1.3 della sentenza emanata il 15 ottobre 2019 dalla Corte di appello e di revisione penale del Cantone Ticino è annullato e la causa le è rinviata per un nuovo giudizio sulla commisurazione della pena.
2.
Le spese giudiziarie di fr. 1'500.-- sono poste a carico dell'opponente.
3.
Lo Stato del Cantone Ticino rifonderà all'opponente un'indennità di fr. 1'500.-- a titolo di ripetibili della sede federale.
4.
Comunicazione al ricorrente, al patrocinatore dell'opponente e alla Corte di appello e di revisione penale del Cantone Ticino.