Bom dia, Anedino, tudo bem?
Esta é uma questão muito válida e importante e eu te garanto que todos que começam a estudar o paradigma de Orientação a Objetos se perguntam isso. Eu achei uma postagem bem interessante que aborda isso e está neste link: https://www.reddit.com/r/learnpython/comments/1mc8ih/why_should_you_use_classes_instead_of_functions/.
Dentro dos pontos citados, achei interessante quando ele citou que muitas vezes ao usar funções, elas acabam não ficando tão "bonitas", agradáveis dentro do seu código, visto que você tem que vincular não somente os mesmos argumentos do método como também a própria variável que vai ser trabalhada. Além disso, o fato de você poder criar instâncias significa que você consegue isolar as informações contidas dentro do objeto e também criar métodos de mesmo nome em classes completamente diferentes, cada uma fazendo sentido dentro do seu contexto.
Por fim, pra mim um dos pontos mais fortes da POO é a questão do encapsulamento, em que você consegue isolar completamente todas as características (atributos) e funções (métodos) dentro de uma única estrutura, criando uma interface com usuário e, dessa forma, o usuário não precisa ter nenhum conhecimento do que acontece dentro do objeto, apenas aquilo que ele tem e o que ele faz.
No caso do exercício em questão, criar uma função ao invés de uma classe não faria diferença, visto que ele apenas faz um procedimento simples. Porém, se fosse adicionar mais funções dentro da data definida, o uso de classe começaria a ser mais indicado.
Espero ter ajudado! Bons estudos!