They had better keep Zaniolo.

Because Zaniolo is a crucial player for them even though he has a serious injury history. He is very young now and he has long years ahead of him to develop his performance more and more. If Roma lose him now I don't know if they can find a player who is at least as good as Zaniolo.
Indeed. They should keep Zaniolo since they have no other good right-wingers. Mourinho will be difficult to look for his replacement if Zaniolo moves to another club. No doubt his role is crucial in AS Roma squad, Zaniolo is also a promising player to develop his value in the future. AS Roma must think to keep him on the squad, so I am not sure if Zaniolo will consider leaving, except he has a bad relationship with Mourinho. Till now, I never heard any rumor about his bad situation in AS Roma.
The possibility of Zaniolo leaving As Roma is quite small, because Roma's relationship and situation makes him comfortable. But if Mourinho had another player they wanted to replace Zaniolo, Roma might let him go. But I haven't heard about it now, about there will be a replacement for Zaniolo next season. So I'm still pretty sure he's still going to stay.