Hallöchen.
Wieso heißt es „Sex haben“?
Nun, man kann Sex auch machen oder kriegen oder nicht kriegen oder treiben wie eine Sportart.
Eine Fügung mit „haben“ beschreibt doch meistens eine Art von ‚Besitz‘:
Geld haben, Mut haben, Lust haben, Hunger haben etc… Es beschreibt den ‚Besitz‘, den eine Person ‚hat‘.
Du sagst selbst: meistens; meistens ist aber nicht immer.
„haben“ ist als Hilfverb nahezu universal einsetzbar, wie „machen“ auch. Und es wird in sogenannten „Funktionsverbgefügen“ sehr gern verwendet.
Spaß, Lust, Freude, Liebeskummer, Sex, ihre Tage, eine Frage, Urlaub, einen dicken Hals, Hunger, Durst, … (die Liste ist nahezu endlos
, wenn das möglich ist)
Die Bedeutung des Verbs in solchen Funktionsverbgefügen ist fast mit Null gleichzusetzen.
„in Gang bringen, in Gang kommen, in Gang sein, in die Krümpe gehen, eine Frage stellen, eine Frage haben, ein Zeichen setzen, ein Zeichen sein“ sind lauter solche FVGs.
Hier liegt die Bedeutung der Aussage beim Nomen. Das Verb kommt bloß dazu, weil wir im Deutschen keine Sätze ohne Verben bilden können - na, es gibt ein paar exquisite Ausnahmen.
Aber wenn man Sex ‚hat‘, ist das ja kein ‚Besitz‘, sondern eine Tätigkeit.
Du hängst zu sehr an der „wörtlichen, ursprünglichen“ Bedeutung von „haben“; auch beim Perfekt und Plusquamperfekt hat „haben“ nicht seine ursprüngliche Bedeutung, sondern dient nur, um diese Zeiten zu bilden.
Habe ich mich einigermaßen deutlich ausgedrückt? 
Gruß Fritz