Хороший вопрос, я, честно говоря, призадумался. Такая модель является классической, она пришла еще из концепции монитора, в 70-х годах, а Active Oberon просто видоизменил ее.

Вообще говоря, семантика EXLUSIVE и AWAIT несколько различная - взаимное исклюение и синхронизация - видимо, оправдано было их разделить. В языках с мониторами любая процедура объекта-монитора по определению эксклюзивна, ее даже помечать не надо. А синхронизация может выполняться несколько раз сряду в одной процедуре. Если бы вместо EXCLUSIVE был только AWAIT, то несколько идущих подряд AWAIT вызывали бы рекурсивную блокировку, а в какой момент освобождать каждый ее уровень? А если "встык", то вся процедура станет не атомарной, а кусочно-эксклюзивной. Таки лучше "без фантазий", видимо.