I think they are pretty well interchangeable and there is probably not much in it but ba cheart duit means it is "the correct thing for you to do" and ba chóir duit means it is "the proper thing for you to do". The former may possibly be a little more "sterile", relating to correctness or being right as opposed to wrong, while the latter implies a moral obligation or fairness, being just as opposed to unjust.