回答

現在完了形にする必要があるからです。

changed. = 変わった。過去のある時点で変わった、という意味。今も変わったままでいるかどうかまでは不明。
have changed. = 変わった。過去のある時点で変わり、今も変わった状態である、という意味。

この二つの違いです。
changedだけではジェシカは眼鏡を変えたけど今は変えたままかわかりません。しかしこの文では今の状態が過去の変わった状態から現在まで同じ状態なのでhaveをつけ現在完了にします。

現在完了形には三つの働きがあり
この文ではその一つの状態の継続を表します。
長々と言い逆にわからなくなってしまったらすみません。

この回答にコメントする
疑問は解決しましたか?