Being embedded in a nice modern programming language like Python, SymPy is definitely much easier to use, and I'd recommend that for most people. Maxima probably has some more advanced esoteric features I haven't needed, and may be faster for some things (but so might SymPy). I use Maxima in one situation: making online maths quiz questions in STACK [1], because Maxima is the CAS underlying it. I'd rather it used SymPy!
If you need more advanced stuff than SymPy, probably SageMath is the way to go - stay in ~Python, but use it as an interface to other systems (which include Maxima). I used to use Sage before SymPy was around and good.
If anything, Julia language would be a better fit[1] for the new mathematical system. Its syntax is friendlier to the mathematical constructs than of Python. Not to speak about the speed.
Maybe. Maybe not. From what I understand, experience shows that when conceptualizing knowledge in this domain, at some point you may run into the need for a MOP, which Julia to my knowledge doesn't have.
Yes, and it's a library that could be conceivably ported to Lisp. As Scmutils have shown, "lispy" languages with multimethods/generic functions are really suitable for building symbolic manipulation systems. So chances are that functional port to Lisp could provide a really nice interface to SymPy's functionality.
And Maxima was created before Common Lisp even existed. Steele first presented Common Lisp at a conference in 1982, and CLTL1 wasn't published until 1984.
As I recall, Maxima was first written for Franz Lisp. Older lisps like that used dynamic binding for all variables.