You shouldn't be too hard on yourself, most peoples jobs are unethical in some way, or linked to an unethical company, because big companies are generally unethical, and most businesses are owned by them, are them, or work with them. For example, you might work at a shop/supermarket that sells unethical products, or in a company that does marketing for Procter and Gamble, or in a factory that processes chocolate grown unethically, or an accountant that works for Nestle. It's just that some jobs it's more obvious than others, because you're up close and personal with the products or processes. So I guess my first point, is don't feel like you're the only person working for a company you don't believe is moral, that's what most people are doing even if they're not aware of it.
It's also true that sometimes you need to compromise, and while most people would rather work in a job where the good outweighs the bad, not everybody can afford the luxury of handpicking where they work. YOU are most important, and if you need to job, you should absolutely do it.
Thirdly, jobs aren't forever. You can work in one job, and keep looking for something that you enjoy more. Because despite everything else I have said, it's nice to work in a job you enjoy, so don't give up on that prospect! Just because you might need to settle for something that pays the bills now, doesn't mean you need to give up forever. It's not nice to spend most of your time doing something that doesn't make you happy.
So I say, take the job, and keep looking for something you'll enjoy. Don't feel guilty. Think about the positive things in your life, the good you are doing by being vegetarian etc, guilt tripping yourself wont solve anything