Oi Bianca, como vai?
Em relação a boa prática o que vale é você manter a consistência do seu código ou seja, se estiver usando aspas simples use-as em todo o código e o mesmo vale para aspas duplas.
Em relação a diferença entre elas é o fato de que se você quiser marcar um texto com aspas duplas terá de usar aspas simples. Por exemplo:
print("Na nossa bandeira está escrito "Ordem e Progresso"") #ERRADO
print('Na nossa bandeira está escrito "Ordem e Progresso"') #CORRETO
E o mesmo vale para o contrário, se quiser marcar um texto com aspas simples terá que usar aspas duplas:
print('Na nossa bandeira está escrito 'Ordem e Progresso'') #ERRADO
print("Na nossa bandeira está escrito 'Ordem e Progresso'") #CORRETO
Ou então poderá recorrer ao uso de escapes \
para marcar um texto com aspas duplas ou simples:
print("Na nossa bandeira está escrito \"Ordem e Progresso\"")
print('Na nossa bandeira está escrito \'Ordem e Progresso\'')
Se ficou alguma dúvida é só falar. Espero ter ajudado. Abraços e bons estudos!