Rakeタスク内でメソッド定義するとObjectのprivateメソッドとして定義されます。なので下のような書き方は一見namespace配下にメソッドを定義しているように見えますがObjectのメソッドとして定義されてしまっています。

Rakeは各タスクの定義ファイルをKernel.loadしていて、namespaceはインスタンス変数の@scopeに名前空間を設定しつつ、与えられたブロックを普通にyieldしています↓

なので、block内のメソッド定義はnamespace外のメソッド定義と同じです。

同様にCapistranoもRake::Applicationクラスを継承して作られているので、namespace内で記述されたメソッドはObjectのメソッドとして定義されます。

ちなみにrspecのdescribeのブロックは動的に作成されるクラスのmodule_execメソッドの引数として渡されるので、そのクラスのメソッドを定義していることになります。なのでObjectのメソッド定義になりません。