It sounds like you're very serious and upset about this and you're right to be. You may just have to lay down the law and say, "If you don't follow proper buddy procedures, I will not dive with you." It sucks when it's a significant other that's involved but a domestic spat is easier and safer to overcome than a diving accident.
Tell him that unless he takes his buddy skills more seriously you won't dive with him as your buddy anymore.
Wisdom.
OP, you have to assess your BF's listening skills. On the one hand, his dive skills are likely to improve in time, and the tendency for his enthusiasm to overcome his discipline should lessen with more dives. On the other hand, he's also building his dive habits now, and he (and perhaps you) might just get used to things occurring this way and this process will simply become "the way it's always been."
So, the first question is, does he listen to you about other concerns in life and/or your relationship? Leaving the seat up, calling if he's going to be home late, not talking that way in front of your parents, blah blah blah. If he's not an empathetic listener and someone that either addresses your concerns or takes actions to change his behavior/situations on dry land, then it's not realistic to think he's going to be any different about diving.
If you've had a similar concern about some other aspect of life, and talked to him about it, and he changed what was necessary, then remind him of that and ask him what he needs from you in order to make the changes you need in order to be a good buddy.
If your assessment is that he's not a good listener, or he just doesn't take you seriously, or he's simply incapable of retaining a disciplined mindset underwater, then you need a new buddy. Maybe you need a new BF, too, but I'm not going there based on the info here.
There are a few things you could do to try to shock him into "getting it". The next time he leaves you on a dive, abort the dive and come back to the boat on your own. See how long it takes him to figure out he's alone. This is somewhat dangerous for you both, though. A better option is to "hide" directly above him and watch to see how long it takes him to figure out he doesn't have any idea where you are. In order to pull this off, you have to be able to keep up with him, though.
Take a slate with you and note the time each time he gets too far away from you and the time when you catch up to him again. Back on the boat, show him the % of total dive time where you considered yourself diving solo. Remember that safe buddy distance means BOTH divers are capable of noticing a problem with themselves or their buddy and reaching their buddy. Even if he thinks "I could get to you quickly", if you don't feel like you could get to him quickly, then it's not a safe buddy distance. I mention writing down the times because men generally respond better to objective, factual information than to personal assessments.
On boat dives, you could ask to follow the dive guide because you want him/her to show you and your BF the cool critters, etc. Watch what happens and discuss it with him afterwards, using the dive guide's speed, psi checks, communication, etc as a point of reference.
I say all this assuming that when you've talked to him about what you don't like about his diving behavior, you've given him specific, objective points of criticism and not just screamed at him that clearly he doesn't love you enough and is still hung up on his ex. Shrug. Your post is very clear, specific and reasonable, so if you're talking to him like you're typing to us, I think you've done what you can. He either needs to get it together or you need to find someone else to dive with.
Last option - we can do a he says/she says on scubaboard! LOL. You post your side, he posts his side, put up a poll. Everyone on scubaboard can tell both of you what you need to do differently!
Kidding, kidding, this sounds like a relationship disaster waiting to happen.