I'm going to add a code design course to: https://platform.intervee.io/courses
with challenges that very similar to the problems you described. But it will take a few weeks to be ready.
For your question: Maybe they undervalue a well design code because it's hard to be measured. At the end of the day, you judge them based on their tasks and not quality. Try to give them a motivation to think like architects. What would happen if you ask them to be reviewed by a team member, before pushing it to your review?