They are both correct. There is no logical reason to prefer one over the other since they convey the exact same information.
However, some people will prefer one over the other for reasons that have nothing to do with logic. When we speak, we do not merely communicate facts. Instead, we communicate our own thought processes. "Have been staying" describes an experience, whereas "are staying" merely describes a present status. With "have been", the sentence means
"Our hotel stay is an amazing experience!"
With "are staying", the sentence just means
"Our hotel stay is amazing!"
Nobody can suggest for you which one you should say because it is impossible for anybody to know the thoughts within your own mind.