I changed careers more than once between 20 and 30. To/from radically different fields.
Besides that, your skill-set as a programmer is _much_ more than your choice of language/web framework.
You have skills in:
- Building things
- Decomposing and solving abstract problems
- etc..
And don't let a perceived lack of math skills intimidate you. This stuff is learnable, with effort and time. ML is most-decidedly not magic. You can learn it, if you have an interest.[1]
That said, if programming is losing its luster, but you still enjoy software -- try product/project management. Good pay, and it's a very social job where your tech skills will be valued.
If you want something dramatically different -- the sky's the limit. At 20, you could switch to Business, Law, Medicine, Journalism, Banking, whatever. Biggest lesson I've learned: don't be afraid to try. Good luck!
-----------
[1] (For context, I started studying math much later than you (~27), and have worked on ML in a research lab, since then. But when I was 20, I barely passed college algebra... Point is, you have time and can learn if you want.)