I had the same problem, I fixed it this way:
When you create a service account in step 2, you need to select a role to grant this service account some permissions, although it shows the step is optional, but for some cases, it’s not. If you skip this step, the newly created service account will not show up at the Google Play Console API access page, and you will get this error message, The current user has insufficient permissions to perform the requested operation
when you run your code.