Hi,
I'll try to assist the best I can.
The main issue here is that what you are doing is an http request and not local to the machine. For example "gs://" is essentially the gsutil tool wrapping-up an HTTP request and emulating locally, but it's not part of the local file system. Whereas the library you are using thinks it's manipulating the file system. Hence the problem you are having.
The workaround would be this[1], which consists of "mounting" GCS to the filesystem using Cloud Storage FUSE. But the problem is that it's an anti-pattern on App Engine. App Engine is ephemeral and could have many instances with these mounts. You are bypassing a library with concurrency for when many instances would talk to the same database. This means it may work if you only max one instance, but you could have problems after more than one instance is talking to the same files. It just doesn't make sense architecturally, but it may work. Use at your own risk.
Let me know if there's something I'm not seeing or why you can't use the library provided.