Same aircraft, distance and direction, but completely different payloads

Hi,
I’m connecting Sao Paulo to Cape Town. When I choose between 2 big airports in Sao Paulo (GRU and CGH) I’m getting completely different calculated payloads, depending on which Sao Paulo airport am I flying from.

The aircraft I’m using is 737-900ER HGW (winglets).
For GRU-CPT (6321km) calculated payload is 20,160 kg (88.5% of maximum)
For CGH-CPT (6325km) calculated payload is just 12,072 kg (53.0% of maximum)

Can anyone help me understand why is there such a huge difference, even though both routes are almost identical?

CGH runway length. Simple as that

Ok, now I get it. Thanks.