To use a gaming analogy, one is the DPS and one is the tank. The programmer moves the needle, makes things happen. But someone has to absorb all the attacks, so that they can do their magic.
The job of a programmer is to focus, deeply. The job of a manager is to handle all the meetings, always pick up calls, cut out unnecessary features.
Without a manager, you tend to take on more than you need to, because there's nobody around to reduce the number of things that need to be done, or estimate the timeline properly. Sometimes you need stuff from the client - API access, and so on. This is the manager's job to keep following up.
Let's talk about the ill-defined tasks. The short-term solution is to say that every task requires at least one meeting to gather the requirements and design a solution. Until requirements are defined AND accepted by you, you can't schedule the work. You need acceptance criteria.
You're going to need buy-in from the business. Talk to your favorite manager/exec and discuss the problems you're having and your proposed solutions. They May have their own ideas and solutions to suggest. Trial it out and adjust the processes as necessary.
As a side note, you'll recognize some of these practices as agile practices. In factory terms, you're the bottleneck/constraint and you're trying to protect the constraint so that it's used as effectively as possible. Good luck