It is mostly correct to say that the time zone of Ulaanbaatar is UTC+8. However, saying that is a shortcut, because a timezone is a geographical place with a certain rules regarding time, and UTC+8 is a time offset. A lot of timezones also observe daylight saving time (DST) in the summer, which adds another offset in the same timezone.
Let's use another example. A lot of places, like my home in Montreal, or most of North America and Europe, are in timezones with two offsets: one without DST, and one with DST, one hour later. So the North American East coast, in Eastern Time timezone, will observe Eastern Standard Time (EST) in the winter, UTC–5, and Eastern Daylight Time (EDT) in the summer, at UTC–4.
Since, at the time of your question and this answer, it is currently summer in the Northern hemisphere, Mongolia is (as of August) in DST, and thus one hour later than their standard offset of UTC+8 (winter), hence UTC+9. And indeed, if you consult Wikipedia at Time in Mongolia, you'll see Ulaanbaatar's two offsets.1
It might be helpful to know that since UTC is used as the standard for time and is based on the rotation of the earth, it needs to be an absolute reference and can't change with daylight time. That means that the other offsets will have to change around it. (It comes in handy when a timezone changes the date it wants to observe DST, for instance.—And GMT is just the old standard before UTC.)
1 Usually, you can also consult the page for the city which will also mention the two offsets, but as you've discovered, I understand Mongolia has introduced DST recently so Wikipedia might not be up to date on all pages yet.
* Special thanks to commenters DJClayworth, Tom, and Bakuriu, who rightly pointed out that a timezone and an offset is not the same thing. This answer was corrected to use the proper terminology.