None of these languages offer what Cobol does -- fast, efficient processing large batches of data. It doesn't need graphics, it doesn't need bit-twiddling, it doesn't need to be internet-aware, it just needs to do what it does well -- accounting mostly.
FWIW, C++ is an abomination. C was an ok substitute for people too lazy to learn assembler, but tacking C++ on was just silly. That is the easiest language in the world to shot yourself in the foot with. Do you want your 401k balance dependent upon someone kids ability to remember the difference between "." "->" and "*"?
Java is good, save, and workable. And on IBM mainframes, Java and Cobol interoperate very nicely. But some things that are easy to do in Cobol are very hard to do in Java, and the converse is true. They are complementing each other, not replacing each other.
Python? After 40 years of headaches with programs/shells/compilers puking all over the difference between spaces, tabs and end of lines some retard decides to make a language that delimits scope based on spaces, tabs and end of lines? WTF? That will never be a serious candidate for the enterprise where dozens of file transfer packages over dozens of hardware platforms in dozens of countries with dozens of different character sets operate. Here is a nickel kid -- go buy yourself some brackets.