その define で make-counter として定義されるのは、

(let ((count 0)) (lambda () (set! count (+ count 1)) count)) という式を
評価した結果の値だ、って所まではOK?

んで、その let 式の評価は、その define の時の 1 回だけしか起きない...
ということがわかってないようだから、OKでもなさそうだがとにかく次へ行く。

count に 0 を束縛した状態で、
(lambda () (set! count (+ count 1)) count) を評価したものが make-counter になるわけだけど、
その lambda を評価すると「count を束縛した状態」というものを抱え込んだもの(閉包)に
なって、それを毎回実行するので、カウントが増えていくわけ。