My guy was really skinny when I adopted him. He wasn't being fed enough by his previous owners. As a result, he ate his poop. So in a way you could say his diet was lacking in nutrients and that caused the poop eating.
I switched him to Canidae and added digestive enzymes and of course started feeding him more and the poop eating reduced but every once in a while he would still try. I switched to California Natural and not only did his pooping reduce, the poop eating was totally eliminated. He is now on a prescription food for an unrelated health issue. The prescription food is loaded with grains and fillers and he is back to eating the poop full force. I definitely think the quality of the food is the reason. Crappy food (no pun intended) makes him poop more and the poop stinks like the junk food, so it's more desirable. Consider feeding your pup a grain-free food if you aren't already.
I think the poster who suggested that you need to get to the poop first, and make sure he's not in the crate too long has a point. Also, sticking to a set feeding schedule and tailoring the feeding times to your pups internal clock will let you control when he poops. When my girl was a pup, I could tell that she would poop within an hour of eating a meal, and be ready to poop again in 4-6 hours. When do you feed your pup? Maybe it is too close to the time that you crate him. Perhaps if you fed him earlier, it would give him time to eliminate before you leave for work. Alot of people make the mistake of free-feeding and just leave food down or in the crate all the time. A pup that free-feeds will have a tougher time developing an elimination schedule.
Another thing that will help is to make sure your crate is not too big. If a pup has a lot of room in the crate, he is more likely to soil in it because he can soil in one spot and lay in another. An appropriatly sized crate may make him hold things in just that little bit longer until you get home. Of course he shouldn't have to hold it too long, so maybe coming home to take him for a potty break, or hiring a dog walker is the answer.