Does changing major if you’re not passionate about a good idea or should I accept what I have and live with it?
As a software developer turned college teacher, I advise a lot of students in my Information Technology program and I like to tell my students "begin with the end in mind". If I want to go to my friend's house, do I go outside and start walking/driving and just turn left and right hoping that one day I will get to their house? Or do I ask my friend where they live, and get a map so that I know how to get there?

Why masters and PhD? Does that help you get to where you want to go? Or are those just streets and turns that you just happen to see in front of you?

Students I work with say "I want to get a job as a developer." If that's the case, I work with them to find some job postings, look at what they require, and figure out what knowledge and skills they need to get that job, and work backwards and plan out their degree or coursework.

I recommend you think about "where you want to be". It's a difficult question to answer for many people and sometimes it's worthwhile to talk to people in the field about what they like and don't like about their job and lifestyle and what they would recommend if they were you. Once you have an "end in mind", you can then work backwards and figure out a map as to how to get there.

Hope this helps!