Oi, tudo bem?
@classmethod significa, traduzindo ao pé da letra... Método da classe, e um classmethod é um método que não precisa de um objeto instanciado para ser invocado, você pode chamar esse método direto da classe. Pense que você tem uma classe de contas de banco e cria um @classmethod para contar o total de contas que você instanciou, não faz sentido ter esse método em todos os objetos, e sim ser um método da classe para que possa saber o total.
@staticmethod são métodos estáticos, que não são necessários declarar aquele primeiro argumento self pois não fará uso de nenhum recurso da classe diretamente. Importante lembrar que assim como o @classmethod, o @staticmethod também pode ser chamado sem ter instanciado a classe.