A partner at a law firm is a businessman first and an individual producer of lawyering second. He has people to do that for him. Many - but not all - ways to do extraordinarily well as a programmer involve becoming a businessman first and a code slinger forty-second. There are many people on HN who run consultancies. If you're unaware how the numbers shake out, ask them what percentage of the money they get came in from billable hours programming and what percentage came from e.g. the delta between what they charge for consultants and what they pay them, or the line-item fees which have no associated hours.
I keep giving this advice: stop calling yourself a programmer. You're right, it is anomalously highly paid and low status. So call yourself something else. If you sling code and make businesses serious money and are sophisticated about extracting that value, you will be quite highly paid indeed.
With regards to social status: most white collar laborers don't really have it. You could be a payroll clerk, so count your blessings. If you want it, either a) find a peer group where you have it or b) use code slinging to achieve something society values. You know how teachers have status? Try the line "I helped X million kids learn to read last year" out some time. (Helpful if it is true, obviously.). Or you can just wait until society moves in the direction of Programming is Sexy. (Not as far fetched as you might think. My girlfriend and her circle of friends loved Social Network. If I had reputational stock I'd be IPOing right now.)