Ну, это и есть цель семафора - быть безопасно доступным из нескольких потоков.На самом деле, как бы вы внедрили взаимное исключение?Иметь семафор с максимальным значением 1 - самый простой способ.Семафоры концептуально являются самым базовым механизмом синхронизации, и они предназначены для одновременного использования.
За кулисами внутренний счетчик в семафоре должен быть синхронизирован, но это должно решаться, например, операционной системой.Доступ к семафору по своей сути поточно-ориентирован.