Olá Thiago, tudo bem com você?
O this dentro dos Getters não são obrigatórios. Isso porque dentro do escopo desses métodos não tem como o método se confundir e retornar um valor que não seja da própria classe. Para ficar mais claro, vamos pegar como exemplo o Getter e o Setter do atributo nome:
public class Cliente {
    private String nome;
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
}
Ambos os métodos tem acesso ao atributo nome do cliente. E dentro do escopo de getNome(), não tem como o método retornar qualquer outro valor que não seja esse atributo.
Já no setNome(String nome), nós temos tanto o atributo nome do cliente, como também temos o valor nome que recebemos como argumento dentro dos parênteses do método! Em casos como esse onde existem dois valores com o mesmo nome, precisamos do this para deixar claro quem é o atributo e quem é o argumento. Situação que não acontece com o getNome() que não recebe nenhum argumento com o mesmo nome do atributo.
Se quiser fazer um teste rápido, deixe o seu Setter sem especificar quem é o atributo e depois tente imprimir um nome que você "settou":
 
public class Cliente {
    private String nome;
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        nome = nome; // nome sem o this
    }
}
 
public class TestaCliente {
    public static void main(String[] args) {
        Cliente cliente = new Cliente();
        cliente.setNome("Thiago");
        System.out.println(cliente.getNome());
    }
}
O motivo para o resultado que você verá é uma questão de escopo. Ao escrevermos nome = nome sem usar o this.nome, o Java pega a variável nome com o menor escopo, o que significa que estamos pegando o argumento nome e atribuindo seu valor à ele mesmo, enquanto o atributo nome que definimos na classe nunca é tocado!
Se tiver qualquer dúvida, por favor, me avise! ;)