Check that the service account you are using to run that command has the proper Compute Engine role. You can do this here: IAM & admin > IAM.
-- UPDATE --
For checking that the service account has the correct permissions run these commands in the Cloud Shell:
$ gcloud iam service-accounts keys create key.json \
--iam-account new-sa@some-project-name.iam.gserviceaccount.com
The above command will create and download the key for this service account in a JSON format.
$ gcloud projects add-iam-policy-binding some-project-name \
--member serviceAccount:new-sa@some-project-name.iam.gserviceaccount.com \
--role=roles/compute.admin
This command will assign compute.admin role to new-sa service account.
$ gcloud auth activate-service-account --key-file=key.json
$ gcloud compute instances list
And with these, impersonate new-sa service account using the key.json file already downloaded and execute the corresponding command to list the instances in some-project-name project.
If this is successful then the issue is somewhere else.