I think the problem you have is the Europe-JNB flights for your dates. There doesn't seem to be a shortage of flights SEA-Europe for around $500.
If you want cheaper flights, can you flight out earlier - probably before the 10th Dec, and return either early (between Christmas and New Year, maybe 1Jan) or late (after 10Jan). As a guide, BA will fly you AMS-LHR-JNB for €899, out on the 8th Dec, back on the 30th Dec. AF are also pretty cheap.