You might find RCSB's Guide to Understanding PDB Data and the PDB file format documentation useful. I'll go over some of the information present in PDB files that seems relevant for you, using your example of 10GS.
Ligands are specified in the heterogen section:
HET VWW A 210 33
HET MES A 211 12
HET VWW B 210 33
HET MES B 211 12
HETNAM VWW L-GAMMA-GLUTAMYL-S-BENZYL-N-[(S)-CARBOXY(PHENYL)
HETNAM 2 VWW METHYL]-L-CYSTEINAMIDE
HETNAM MES 2-(N-MORPHOLINO)-ETHANESULFONIC ACID
FORMUL 3 VWW 2(C23 H27 N3 O6 S)
FORMUL 4 MES 2(C6 H13 N O4 S)
These records tell you the identity of the ligands that are bound to the protein (VWW and MES), how many are bound (4 in total), the chemical name (in the HETNAM record) and chemical formula (FORMUL record). The HET record also gives the number of associated HETATM records (33 for VWW and 12 for MES). Here are the first five HETATM records for VWW of chain A:
HETATM 3265 N VWW A 210 15.088 10.798 23.547 1.00 14.90 N
HETATM 3266 CA VWW A 210 15.010 9.987 24.792 1.00 20.92 C
HETATM 3267 C VWW A 210 16.115 8.924 24.830 1.00 21.55 C
HETATM 3268 O VWW A 210 16.520 8.515 25.940 1.00 17.16 O
HETATM 3269 CB VWW A 210 13.635 9.327 24.908 1.00 14.23 C
Each HETATM record corresponds to an atom in the ligand and gives the chemical coordinates for each on the X, Y and Z axes. For example, the first record specifies a nitrogen atom at coordinates (15.088, 10.798, 23.547).
The connectivity (ie covalent bonding) between atoms in a ligand is specified in CONECT records. Here are the first five from the PDB file:
CONECT 3265 3266
CONECT 3266 3265 3267 3269
CONECT 3267 3266 3268 3273
CONECT 3268 3267
CONECT 3269 3266 3270
This tells you that atom 3265 (the first nitrogen in the HETATM records above) is bonded to atom 3266 (a carbon). Atom 3266 is bonded to atoms 3265, 3267, 3269. Et cetera...
The atoms of the protein are specified in ATOM records. Like the HETATM record, these records give some identifying information (atom serial number and type, residue name and number, etc) as well as the coordinates in 3D space. For your purposes, it sounds like you can just loop through the atoms of the protein and find the ones which are within some threshold distance of an atom in a ligand (or the geometric centre of the ligand). However, this PDB file does already contain some information about the binding sites for these 4 ligands in the SITE records (here are the first four corresponding to site AC1):
SITE 1 AC1 15 TYR A 7 PHE A 8 ARG A 13 TRP A 38
SITE 2 AC1 15 LYS A 44 GLY A 50 GLN A 51 LEU A 52
SITE 3 AC1 15 PRO A 53 GLN A 64 SER A 65 TYR A 108
SITE 4 AC1 15 HOH A 229 HOH A 303 ASP B 98
The SITE records also have corresponding REMARK 800 records (which are given in the question). For example, site AC1 is described as BINDING SITE FOR RESIDUE VWW A 210 as identified by SOFTWARE. So in this case, these SITE records are a list of residues that make up the binding site of their respective ligands.
You may want to be somewhat wary of these SITE records because (1) as far as I know they are not mandatory records in a PDB file and therefore may not always exist, and (2) it is not entirely clear how they are generated. In this case they are software generated... but which software... or what algorithm? I have previously looked through the SITE record of a binding site in a protein I am very familiar with and noted some conspicuous absences from the list of residues, so take that for what it's worth.