You obviously do not love your boyfriend if you keep falling for your best friend.
However, you obviously do not love your best friend because you keep falling n and off with him. So on the "off's" there is a reason you do not choose him.
This isn't the best out of the two competition, it may be that neither are appropriate.
It appears you get your needs met in both but not singular, so you either choose one and accept the imperfections in a relationship and work through them, or you realise that neither boy is for you.