Does "Setiap" or "Tiap" also work here?
Topi can mean hat or cap, and most workers in the world wear caps instead of hats. Shouldn't my answer "Each worker wears a cap" be correct as well?
Yes. "Topi" means both "cap" and "hat". I'm taking the reverse tree (English from Indonesian) now. I found a sentence translating "topi" as "cap" there. Also, IndoDic says so.