It’s only a good career choice if you enjoy it enough. That’s true for anything. You don’t have to outright love every second of it, nobody does that. But if you want a healthy work/life balance, you have to generally not hate work, find it fulfilling overall, be challenged now and then so you don’t stagnate. It’s really hard to assess that when you’ve not actually worked in your field, I know. Any chance you can get a related job at your college? That’s how I got into it.
I’m not qualified to tell you what to do; I’m a random person on the internet who doesn’t know you. Have you seen a career counselor? You’re in college, there are usually a lot of services you’re entitled to; find out what you can.
My personal experience: programming wasn’t actually my initial choice; I fell into it in college. But programming has been a fantastic choice. It’s enabled me to work wherever I’ve wanted to work (all over Europe before moving to North America), in a wide variety of different jobs, learning new things all the time. It’s been mostly interesting work too, and developing experience in it and making decent money in general has allowed me to avoid or ditch boring, soul-crushing work. There is a huge universe open to people who can program because it’s needed in so many aspects of modern life. And once you understand the principles, it’s relatively easy to learn another language, switch to another domain, so you’re not stuck where you are at any moment in time.
And here’s the thing: I’m not good at math – that’s not false modesty; I have giant holes in my mathematical knowledge. That has hindered me quite a bit at times, and I’d recommend that you learn to like math at least some because it’ll never become easier to learn than when you’re young, and math is useful in many ways. You have more options now to access good learning materials than I had; figure out how you learn best (we don’t all learn the same way, and schools are often too crowded to individualize instruction). But even with lackluster math knowledge, don’t despair – there are lots of areas in which one can find interesting work anyway; I did.
That’s a common problem if one is new to studying something by oneself and doesn’t really know how. Find yourself a good curriculum from an established institution, or a solid textbook, and use that to outline a learning plan for yourself. Start looking for free materials that fit into that. Find teachers from whom you learn well; you might have to sort through a lot of chaff to get at the wheat. Once you have a set of good resources, take it seriously. Develop the discipline to learn every day, even when it’s boring at times. Every day a little is better than a bigger chunk of time just once a week. We learn a lot through frequent repetition. And do homework! Lots! Nobody will assign it to you, but for me the best way to really learn what a tutorial teaches is to follow it first step-by-step, then do it again on my own, then do something similar but sufficiently different that it challenges me some. And one more if I can make the time. And get back to it 3 months down the road to reinforce what I have learned.
Find a community that can help you if you get stuck, and can give you tips on alternate ways to do things. Maybe a study partner or two. Other people are in the same boat.