Возможны оба варианта.
Варианты в цехе и в цеху равноправны, если слово цех употребляется в значении 'отдел промышленного предприятия'. В значении 'средневековая организация ремесленников' правильно только: в цехе.
Словосочетание «коллега по цеху» корректно, плеоназмом оно не является.