require や load した場合、ローカル変数だけは、ファイルごとにスコープがあります
ローカル変数という概念を保護する制限だと思ってくだされ

require ではなく Ruby スクリプトファイルとして読み込んで実行することで制限を乗り越えることができますが勧めません
ファイルとモジュールの構造を変えることのほうを強く勧めます