因为首先这句话的意思是,到达岸边后,女孩朝着着她之前看见的光,挣扎的走向悬崖。而这里女孩看到的光是在她到达岸边之前就看到的。而had seen是过去完成时,它表示的就是过去的过去发生的动作,如果用saw 是一般过去时,仅仅表示过去的时间点。这里你只要想着女孩在上岸之前看到的光,就知道必须用had seen 了,希望我的解释对你有帮助
on arriving是一个持续动态,要持续一段时间的,(这种情况用过去完成时) 而不是某一个时间点,她看到了什么(用过去式)。