Монады для IO и сохранения ссылочной прозрачности были предложены Вадлером. Я не вижу никакой связи именно с ленивостью.
Связь в том, что с энергичными вычислениями можно просто писать без монад и всё, а с ленивыми нельзя, нужны монады или иной механизм. Исторически, в хаскелле они так и появились, как решение этой проблемы