※2023/07/30 一番最後に補足を追記
BlenderのPythonのお話です。
タイトル名が分かりづらいですがハマりやすい問題でしたので残しておきます。
まず bpy.ops.object.mode_set ですがオブジェクトモードや編集モードに移行する際に使用するコマンドです。これが特定条件を満たした際に context is incorrect で必ず失敗します。その条件というのが・・・
bpy.context.view_layer.objects.active == None
という状態。アクティブオブジェクトが空になった状態ですね。