Pienso que no quieres a ninguno
A ninguno de los dos, porque comenzando por tu novio, si lo amaras realmente no hubieras puesto tus ojos en otra persona e involucrarte en otra relación. Cuando hablas de tu "relación perfecta con tu novio", te estás engañando tu misma, porque no puede existir "tal relación perfecta", si hay infidelidad de parte de alguno de los dos, en este caso, esa infidelidad viene por parte tuya. Además cuando hablas de tu novio, hablas de que es luchador, trabajador, responsable, con metas definidas, etc, pero en ningun momento mencionas "que lo ames", solo estas viendo las cualidades que tiene como persona, como posible pareja, pero en base a intereses materiales de tu parte, pues en el fondo sabes que con ése chico estarias bien, no te faltaría nada material y por eso quiees aferrarte a esa relación, aunque no exista amor de tu parte hacia él.
En cuanto al otro chico, pienso que tampoco lo amas, porque desde el momento en que dices que no estarias dispuesta a aceptarlo por su pasado, porque en algun momento de su vida consumió drogas, ya estás aceptando que no estas dispuesta a aceptarlo con sus defectos, y cuando se ama verdaderamente a una persona se le acepta con todo, con sus defectos y cualidades, porque así lo conociste y si dices amarlo, no te importaría un pasado que pareca haber superado.
Sinceramente pienso que tú te manejas de una manera interesada, quieres estar bien "solo tú", crees que eres la que merece "todo", sin dar nada a cambio, quieres tener solo "cosas buenas" junto a tí, sin importarte si amas o no amas. Eso es actuar con egoísmo, "todo para ti, nada para la otra persona".
Creo que necesitas sentarte a analizar muy bien tu situación, porque mientras tú decides qué es lo que "mas te conviene", dejas daño por donde pasas, si de verdad quieres poner orden en tu vida, comienza por pensar mejor las cosas y tratar de no hacer daño a otras personas quie te han brindado amor, confianza.
Tu novio te está ofreciendo un futuro, una familia, un hogar cosas que tú no has apreciado, ni valorado, porque por lo menos merece sinceridad de tu parte.
Al igual que al otro chico, debes de desengañarlo de una vez, y decirle que no estás dispuesta a darle una oportunidad "por su pasado" y que no lo amas.
Piensalo, y actúa de una forma honesta y sincera con las personas que te han ofrecido amor.