I was always such a "supervisor" person. Not because someone told me to be, but it's just in me.
I believe that all developers try to give their very best. And as we all agree on standards, everyone trys to keep them. Still it even happens to myself that I am sloppy or forget to do some refactorings, etc. So some kind of supervision is necessary. Such supervision should be automatic.
Although team mates tend to get annoyed by getting reminded to keep to the standards, in the end everyone is happy if the product works and the code looks good in the end. There has to be someone, people can ask, if they are in doubt. Also someone has to be responsible for the automated checks of conventions. And someone must drive the discussion of conventions. Someone must remind people that it's bad if daily build failed.
It's important that conventions are discussed in the team and then fixed when agreed on. They can be changed later, but they need to be fixed. Even on a two person team, both developers must have the same understanding how code has to look like, where files have to go in SVN, how stuff is named, which techologies to use, and so on.
Adding a supervisor from outside, e.g. company policy, on top of a team will not work. If the "supervisor" is on the team, and just drives the team to define and keep the conventions, the whole team will be responsible. Usually this will be some senior developer, as avoiding typical bug patterns or keeping to the architecture are also part of conventions.
There are many tasks a supervisor would have to do. Maybe these tasks could be distributed to people who care. All this tasks will NOT be done if requested. If you ask your boss "I could fix these conventions or deliver the functionality" he well always chose the later, so you have to care about it. IMHO Caring is the most important.