South African club Mamelodi Sundowns secured a spot in the African Champions League final for the second consecutive season with a narrow victory over Esperance.