Vou responder suas perguntas com a minha opinião.
-
Acredito que apenas uma linguagem de programação onde você tem domínio já seria suficiente para você trabalhar com o backend, como seu foco é o java acho que seria interessante você estudar os fundamentos da linguagem e partir para uma framework como o SpringBoot que possui uma facilidade de conexão com ferramentas como o AWS pelo que me recordo. Posso estar errado mas acho que é bem díficil você acabar utilizando mais de uma linguagem no backend de um projeto, você pode implementar rotinas de scripts com python e realizar a manipulação dos dados com o Java ou JavaScript mas acredito que ambas no mesmo tempo seria dificil de ocorrer.
-
Isso depende de você em minha opinião, acredito que na programação nunca poderemos saber de tudo já que sempre podemos estudar e achar novas soluções para problemas que poderiam estar já resolvidos de outra maneira, sempre uma técnologia nova surge ou uma biblioteca que aborda um problema já resolvido de outra maneira. Mas oque não muda na programação é a lógica, então na minha visão com tanto que você pratique a lógica de programação e resolução de problemas, a sintaxe de uma nova linguagem não se torna de fato um problema, ainda mais com as Inteligências Artificiais caso você saiba bem uma linguagem sempre que precisar de uma nova pode perguntar como faz algo na linguagem x dando um exemplo de como é feito na linguagem y.
Não sei se consegui solucionar bem suas dúvidas, mas se puder dar uma sugestão eu continuaria com o seu foco de aprender Java para posteriormente se aprofundar no SpringBoot para desenvolvimento de APIs (Algo que eu pretendo também inclusive kkkkk quando for mudar de stack do mobile para o backend). Mas não existe resposta correta, a linguagem correta é a que você gosta de programar no fim oque importa é que o processo seja divertido e desafiador na medida correta e não um fardo.