Hôte is the strangest word because it has two opposite meanings: guest and host! So chambre d’hôte, which means Bed & Breakfast in French, is literally “guest room” while table d’hôte is the host’s table.
So, je suis votre hôte, vous êtes mes hôtes means “I am your host and you are my guests”. Of course, to avoid the ambiguity, you can say, je suis votre hôte, vous êtes mes invités, which is what most people do. The problem only exists in the masculine, by the way, because hôtesse can only mean hostess and not guest.
Now how did this come about? The reason is simple. There are two different etymologies: one comes from the Latin hospes meaning guest, which also gives hôpital and hôtel, and the other from the Old French hostage (lodging) which also comes from hospes. Now, to make things more complicated, hospes is derived from hostis (stranger, enemy). This explains the meaning of our modern word hostage (otage in French). It was the place where enemies were lodged. Have I lost you?
On another track, have you noticed that the ô in French corresponds to “os” in English: hôte: host, hôpital: hospital, hôtel: hostel? The “os” reappears in the corresponding French adjectives: hospitalier. A circumflex nearly always indicates an “s” that fell out of the language in French, so we have château: castle, bête: beast, août: August. I’m sure you can think of a few examples.