Why do they change openings if engines only like one?
Engines usually have opening databases. Every variant in each opening has a pre-calculated score and according to the opponent's move, engines will choose highest scored move. So, sometimes you may feel they play as same as previous games.
But, that's not all, many good engines will choose a random move among a group of best candidate moves because their programmers don't like biased engines.
On the other hand, grandmasters, they know lots of openings and they're incredibly skilled on some of them. Sometimes they persist on a specific opening to learning more. Sometimes they play different openings against opponents to make them surprised or confused.
Head-to-head matches between two grandmasters usually lead to a little number of openings. Because the white player tries to choose an opening based on his power and opponent's weakness.
Grandmaster play different openings because of preperation against an opponent or because they just feel like playing different positions. Also, if a grandmaster plays many openings, it is much harder to prepare for him/her. Engines usually are programed to play one of several opening moves. Also, you asked "why do they change openings if engines only like one?" Engines are not the absolute authority for openings, thought they are good, because a lot of openings have plans and positional aspects that are too far for computers to understand. Instead, engines often help a person understand an opening, but much evaluations from computers are taken with a grain of salt.
Engines play on the board. Grandmasters play their opponent.
Grandmasters usually not only play to their strengths, but their opponent's weaknesses. They will mix it up based on what they believe their opponent is least prepared to deal with.
Engines could theoretically do this too, but its hard enough to play by the rules of chess alone, much less try to include human psychology of the opponent.