A degree is useful. Whether it is worth the price really depends on the situation. I've known quite a few people who have made the transition from an external field to programming, but you have to be a bit lucky. Your first job is kind of critical. If you can work for a good company for 2-3 years, then you pretty much have it made. Most companies won't care about official qualifications after that. However, it can be a real crap shoot to get that first job.
Whatever you do, I would say that programming education is very, very important in the career of a programming. I'm 30 years or so into my career and I still spend a large amount of my time studying on my own. No matter what, you need to learn this stuff and you will need to keep learning for decades after. IMHO, this is really what distinguishes a programming job from many others -- the treadmill of new techniques, technology and ideas never, ever stops and you have to be running constantly. If that appeals to you, then this might be a good career for you. If you have the idea of, "Well, I can just push to get this done and I'll be set", then I think you'll end up being in a huge amount of stress a few years into your career.
With all that said, I would recommend doing some academic MOOCs to see how you feel about it and how you would feel about going back to school. Or as you say, take a few courses. However, I would encourage you to stick to academic courses and stay away from certificates (which are likely to be unrepresentative of what you need to do for a CS degree).
Finally, if you think you can find a good job, then you might just want to go for it directly. However, be picky and make sure that you find somewhere that has some good senior people and who don't mind mentoring juniors.
Good luck!
As far as if you should go for the career change, I would say yes. This is mainly due to the fact that you clearly enjoy the work because you do it in your free time.