P.S. I'm not a professional in python, and I probably need to learn it more. but I just want a new useful thing.
Having the possibility of using the whole Java ecosystem is also a huge plus. It's definitely not a perfect language but it shares some strengths with Python and it's a great language for "larger" projects.
Other comments point out that you should try to dig deeper into python. That's fair. But if you've only worked in a couple languages, learning a new language will give you more perspective on the languages you already know.
Learning any other language will probably be helpful, but Scala is an easy recommendation to make. It'll force you to learn new things, and it's a pleasant language to work in once you get used to it.
If someone wants to get a bit past beginner in Python, the two general directions are to learn more about how the language works internally (Fluent Python is a great book for it), or to learn more about how to write Python well (Effective Python is a great resource for best practices in Python).
Here is another argument. Is someone really a fluent C++ programmer if they have no idea what Boost is? Or STL? You are right that this set of libraries has a grey area. For example, I'd consider someone an expert C++ developer even if they did not know CUDA.
So what is the gray area for Python? Does an expert Python developer need to know a specific web frameworks like Django? To your point, no. But IMHO they should understand at least one example well, and understand some concepts such as WSGI.
My own 2 cents would be that I would recommend sticking around before moving on. Learning one language until you're fully proficient as you said you're not yet "professional in python", find problems that you can solve so you get used to solving the actual problems not working on learning the language syntax. Python is incredibly versatile and you have endless projects available to you. Once you have done that, you can start to consider what languages would've made sense to use for the project, what would the advantages/disadvantages be and try to pick the most appropriate language for each project.
There isn't a "I've done language x so now I'll move on to y" progression chart anywhere.
It's more about what languages you like to use, what you would like to work on, what you're curious about, whether you want to be using that language at work some day etc.
At a simple level this is language agnostic although at a higher level you should use Python for machine learning.
As for specific technologies possibly Rust which is like an OCaml and C hybrid.
If you wish to think differently I recommend Haskell and Coq but these are not 'useful'.
Suppose your website has posts and you want to flag posts when they have abnormally high likes because they might be great reading or complimenting your new release. You could collect a dataset of likes after a day, X, of each post. Then calculate mean and variance, fit a normal distribution[1]. Then calculate z such that P(X >= z) = 0.01 (1%). z represents the cut off point at which typically only 1% of posts are above. Then when a post is above z say 1000 likes then you see what all the fuss is about.
I am just talking about applying 16-18 school maths in a simple way, to point out unlikely events. Of course the distribution of likes may not look like a normal curve if you plot (number of posts with x likes against x) so a different distribution may make more sense. It may not be a perfect model but just a quick and dirty thing to try, :).
Personally I enjoyed completing the free Andrew Ng Machine Learning course[2] on Coursera which covers this and quickly training a simple recommendation engine for movies. It also covers multi-variate Gaussian distributions if you want to flag based on more than one criteria. For this course, the maths is relatively accessible and they go over what you may have forgotten so you can pick up maths as you go along.
Of course you can go far more complex if you like but I don't know much about that.
[1] Normal distribution https://en.wikipedia.org/wiki/Normal_distribution
With some literacy in Python you are well equipped to proceed to a more problem-solving focus.
Another fun place to explore might be libraries for either language. Both have rich ecosystems of thousands of libraries that connect up to various things in the physical and digital world.
Peter Norvig's book seems like a good introduction.