У вас в обоих случаях mutex защищает только от одновременной записи и чтения из переменной. Фактически порядок вывода не зависит от этого мьютекса, можете убедиться в этом если запустите исполнение несколько раз или добавите разные слипы в горутинах чтения и записи.
Если необходимо синхронизировать потоки записи и чтения лучше использовать каналы.
Как упражнение на mutex могу предложить следующее:
Задать структуру с двумя переменными: где значение первой переменной зависит от второй. Если параллельно обновлять и читать значения можно увидеть следующее:
Без мьютекса чтение может иногда возвращать несогласованное значение между переменными.
С мьютексом значение при чтении будет всегда согласованным.
P.S. В вашем примере для синхронизации переменных достаточно обычного мьютекса. RWMutex будет полезен если читателей больше одного.