Ho trovato il problema.
Nel codice:
Id bson.ObjectId `json:"id" bson:"_id,omitempty"`
tra json: e bson: , ho usato una tab invece di space quindi il problema si verifica. Se cambio questa riga di codice in:
Id bson.ObjectId `json:"id" bson:"_id,omitempty"`
Con uno space tra json: e bson: , risulta funzionare perfettamente.