Is it reasonable to keep rejecting postdoc offers to honor your part of the agreement with a professor for another postdoc? I met Professor X, during an interview at a high-ranking university in which I wasn't selected. Weeks later, the professor invited me for an informal video chat. He gave me a lot of feedback and told me that I wasn't selected after a split decision and want me to join his team at his university. He really liked my profile and said that he can help me in my career basically (in particular in developing the skills that I needed, which contributed to me not getting that job offer).
He invited me to apply for a postdoc that he's going to advertise and gave me articles to read. He didn't say &quot;I'm definitely hiring you,&quot; but he sure gave me a lot of info about the project and really wanted me to apply. Also, at the time, I was really lost because I had 0 options and 0 interviews, and that chat gave me the first hope after months and months of looking.
Days after that chat I was invited for two interviews from two universities, A and B. I got a quick offer right after the first interview from university A, I emailed Professor X about my situation and he said you can accept and ask if a collaboration was an option. He also mentioned that his university is a lot better than University A, which is true. After some thinking, I decided to reject A's offer and wait for the X's postdoc to be advertised, which he said should be available in a few days.
Then, University B sent me an offer. Note that University B is a much better university than previous ones: top 5 in the world! I really don't know what to do! I can't keep emailing Professor X after every offer I get.
My gut tells me to honor my part of the agreement and wait for Professor X, especially that we've established that first personal contract and he has a good impression of me. Also, he also put extra effort (invited for chat, feedback, and opening a postdoc that I can apply for)
Another professor said that you don't say &quot;no&quot; to a high rank university, others are just surprised that I rejected an offer after months of stress and looking. Help! it's a moral dilemma. Am being unreasonable here?
Your life is yours, and your primary responsibility is to yourself. If it makes you happier to work for one person, then it's totally reasonable to decline amazing offers to make yourself happy.
Some thoughts:

Also, he also put extra effort (invited for chat, feedback and opening a postdoc that I can apply for)

This not really extra effort to the degree you should consider it affecting your decision. This is pretty standard, even if providing feedback was a nice extra step from him. Certainly not worth deciding the future course of your life over.

My guts tells me to honor your part of the agreement and wait for the professor, especially that we've established that first personal contract and he has a good impression of me.

The agreement is when the papers are signed. Yes, it's a little rude to verbally agree and then renege. But a university would not blink to say &quot;oh sorry, we can't offer that job,&quot; and move on with no regard to how this affected your life. Sure, the prof you interviewed with might be sad, but in the end, they are out of an employee, and you are out of income.

After some thinking, I decided to reject the offer and wait for the professor's postdoc to be advertised

I would not have done this. Trust me, a professor asking for a job posting is far from a guarantee it's going to happen. Hold on to all offers, and if it comes down to it and you have two offers in hand, wanting a response, and there's still no job posting, then  you can ask them when it's going to be posted, and ask your other offers for extensions.
Don't turn down any job you'd really take until they have given you a deadline. Then, yes, you can make the decision to take the guaranteed offer, or to gamble on another position. In the end, if the professor couldn't get a position up in time for you, that's their fault.