Bom dia, Lucas!
Precisamos colocar o self porque este método está dentro da classe correspondente. Se não adicionar o self dentro da classe, ele tentará utilizar uma função que ele espera estar definida fora da classe, mas não está, aparecendo o erro que você viu. O self neste caso serve para falar ao python que você está utilizando um método que está dentro da sua classe e não fora. Acredito, porém sem certeza (se quiser testar e falar num comentário posterior), que se você fizesse nome_da_classe.UrlEhValida(url)
ao invés de self.UrlEhValida(url)
ele também funcionaria.
Espero ter ajudado! Bons estudos e um abraço!