Pythongzipモジュールは、その情報へのアクセスを提供しません。
ソースコードはそれを保存せずにスキップします:
if flag & FNAME:
    # Read and discard a null-terminated string containing the filename
    while True:
        s = self.fileobj.read(1)
        if not s or s=='\000':
            break
ファイル名コンポーネントはオプションであり、存在することは保証されていません (その場合、コマンドラインgzip -c解凍オプションは元のファイル名 sans を使用する.gzと思います)。圧縮されていないファイルサイズはヘッダーに保存されません。代わりに、最後の 4 バイトで見つけることができます。
自分でヘッダーからファイル名を読み取るには、ファイル ヘッダー読み取りコードを再作成し、代わりにファイル名のバイトを保持する必要があります。次の関数は、それと解凍後のサイズを返します。
import struct
from gzip import FEXTRA, FNAME
def read_gzip_info(gzipfile):
    gf = gzipfile.fileobj
    pos = gf.tell()
    # Read archive size
    gf.seek(-4, 2)
    size = struct.unpack('<I', gf.read())[0]
    gf.seek(0)
    magic = gf.read(2)
    if magic != '\037\213':
        raise IOError('Not a gzipped file')
    method, flag, mtime = struct.unpack("<BBIxx", gf.read(8))
    if not flag & FNAME:
        # Not stored in the header, use the filename sans .gz
        gf.seek(pos)
        fname = gzipfile.name
        if fname.endswith('.gz'):
            fname = fname[:-3]
        return fname, size
    if flag & FEXTRA:
        # Read & discard the extra field, if present
        gf.read(struct.unpack("<H", gf.read(2)))
    # Read a null-terminated string containing the filename
    fname = []
    while True:
        s = gf.read(1)
        if not s or s=='\000':
            break
        fname.append(s)
    gf.seek(pos)
    return ''.join(fname), size
gzip.GzipFile作成済みのオブジェクトで上記の関数を使用します。
filename, size = read_gzip_info(gzipfileobj)