Why can't I puppet a City-State in Civ V?

No, it is not a game bug. The game does not allow you to puppet an enemy capital once you capture it. Since a City State has only one city, that city is considered as their capital. Hence you cannot puppet a city state, in most cases.