このページのこの部分に記述されている通り、「次のユーザーとして実行:ウェブアプリケーションにアクセスしているユーザー」として実行している場合は、その社内ツールにアクセスしているユーザーのアカウントが、スクリプトが読み取るデータ元のスプレッドシートに対するアクセス権限を持っている必要があります。
アクセス権をリクエストするよう要求されてしまう原因は、ウェブアプリにアクセスするユーザーがデータ元のスプレッドシートに対するアクセス権限を持っていないからです。
(スクリプトに対するGASプロジェクトのアクセス権限を持っていないからではありません)
これはスプレッドシートのリンクの公開設定とは別です。(スプレッドシートのリンクを公開設定にしても、スクリプトからアクセスしてくるユーザーに対して無制限にスクリプトからのアクセス権限を与えたことにならない場合があります)
冒頭の、「編集権限を渡したくない」というのが、何を意味するのか不明瞭です。
仮に「スプレッドシートに対する直接の編集権限を与えたくない」という意味ならば、オーナーアカウントでスプレッドシートとスクリプトを作成・デプロイし直し、デプロイ時に「次のユーザーとして実行:自分(=オーナーアカウント)」に設定することで解決する可能性はあります。
ただしこの場合、スクリプトを実行するユーザーはすべてウェブアプリに対してオーナーアカウントでアクセスする扱いになるため、ログをユーザー別に取りたいというような場合はアカウント管理の機構をスクラッチでスクリプトに組み込むなど別途工夫する必要があります。
)ウェブアプリとしてはただデータを読み取るだけのようなので、そこまでログの必要性はあるかは疑問ですが)
冒頭の、「編集権限を渡したくない」というのが、「スクリプトに対する編集権限を与えたくない」という意味ならば、デプロイ時に「次のユーザーとして実行:自分(=オーナーアカウント)」にしたからといって、すべてのユーザーにスクリプトの編集権限を与えることにはなりません。これはあくまでウェブアプリへのアクセス権限の話にすぎません。