Assim ficou meu projeto, de maneira mais otimizada para múltiplos gráficos. Quebrei um pouco a cabeça em como indexar os gráficos no meu dataframe, mas deu certo. Fiz um pré-processamento nos dados para organizar de uma forma melhor "indexável" ao meu ver.
# Ajustando o dataframe para plot
data_ams_4th = america_sul.loc[['Brasil', 'Argentina', 'Colômbia', 'Peru']]
data_ams_4th.drop(['Continente', 'Região', 'Total'], axis=1, inplace=True)
data_ams_4th = data_ams_4th.T
#Plotting settings
sns.set_theme('notebook')
sns.set_palette('Dark2')
fig, ax = plt.subplots(figsize=(12,6))
for i in list(data_ams_4th.columns):
ax = sns.lineplot(data=data_ams_4th, x=data_ams_4th.index, y=i, label=i, lw=3)
ax.set_title('Imigração dos maiores países da América do Sul\npara o Canadá de 1980 a 2013', fontsize=18)
ax.set_xlabel('Ano', fontsize=14)
ax.set_ylabel('Número de imigrantes', fontsize=14)
ax.legend(title='Países', loc='upper right', bbox_to_anchor=(1.15, 1.00))
ax.xaxis.set_major_locator(plt.MultipleLocator(5))