Olá Henrique, tudo bem com você?
Fico feliz que tenha levantado esse questionamento. O encapsulamento tanto de métodos, quanto de atributos no Python, é um assunto que desperta diversas opiniões, isso por não ser algo obrigatório da linguagem - embora, seja extremamente importante definir a visibilidade de métodos e atributos quando se trabalha com orientação a objetos. Em Python não teremos um atributo ou método 100% privado.
Assim devemos contar com o profissionalismo das(os) programadoras(es) de que irão respeitar as convenções definidas pela comunidade e pela linguagem Python, compreender e respeitar essas convenções faz parte de nossa jornada de aprendizado com o objetivo a excelência.
Também, é importante dizer que não será possível invocar diretamente métodos que possuam duplo underscore fora da classe (através de objetos), como apresentado abaixo:
conta = Conta(123, 'Henrique', 100, 1000)
conta.saldo = 500.0
conta.extrato()
Resultado
Saldo de 100 para Henrique
O acesso é limitado devido ao name mangling, que se trata de uma mudança no nome do método ou atributo para dificultar a leitura direta, adicionando o nome da classe a frente do nome do atributo, com a seguinte sintaxe.
objeto._<nome_da_classe>__<nome_do_metodo_privado>
Mas, reforço que apesar de dificultar, seu acesso não é impossível, como apresentado na sua postagem, o acesso pode ser realizado, contornando o name mangling. Como apresentado abaixo:
conta = Conta(123, 'Henrique', 100, 1000)
conta._Conta__saldo = 1000
conta.extrato()
Resultado
Saldo de 1000 para Henrique
Em resumo temos que o comportamento percebido por você é um comportamento esperado, devido à linguagem Python possuir um método 100% privado e quando burlamos o name mangling podemos realizar mudanças no método.
Para aprimorar ainda mais o seu aprendizado sobre atributos, métodos privados e até mesmo sobre name mangling, recomendo a leitura dos seguintes artigos.
O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas não se preocupe, caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.
Lembre-se que pode contar sempre com o fórum Alura, seja para tirar suas dúvidas ou para compartilhar o seu desenvolvimento.
Fico à disposição
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!