Hi, if your period came on December 14, you would be 4 weeks 5 days now (because the first day of the last period is when the pregnancy count begins), you would not be just 4 weeks. If your periods are all totally like clockwork and come every 28 days without fail every month for years (which the apps assume), you would ovulate on about day 14 of your cycle, or around December 28, as the apps said. But most women are not like clockwork. Their cycles vary. And in your case, if it varied by even one day (and you ovulated on December 27 instead), it gives the guy on the 23/24 about as good of a chance to be the dad as your husband has. Due to the long life of sperm in the woman's body, unless you can rule him out, he even has a chance of being the dad if you ovulated on the 28th. I assume you haven't had an ultrasound yet? (Not that an ultrasound is very useful in the 4th week.)
What you might do is arrange to get an ultrasound in your sixth week, meaning 6 weeks from the first day of your last period. (Don't do it earlier, because there is such a thing as an ultrasound being too early to tell for sure. But don't to it later than about the last day of your sixth week, because babies can begin to grow more quickly or slowly than average, and you want to do this before that possible divergence begins to happen.) When you sign in, don't tell the doctor when your period came, just say you don't know for sure. Or else just say your cycles are so irregular that the first day of your last period shouldn't be used to try to determine when you might have conceived, and ask for the baby's estimated due date to be based only on the size of the embryo and its developmental markers, not on when your last period was. Be sure to get an estimated due date (a calendar date), not just a "weeks pregnant" figure, from the ultrasound. Then take that estimated due date home and put it into a conception calculator, and it will give you an estimated conception date.
If you get lucky, the estimated conception date you get from doing a sixth-week ultrasound will point to a date that does not suggest the sex on the 23/4. That date would have to be later than the 29th, and one would hope even later than that. Even if that happens, you will need a DNA test at some point to be totally certain.
You say "I can't get a DNA test." But at the very least you have to test once the baby is born, to put the issue behind you forever. I'm sorry if you feel you "can't," because never testing would be almost criminally unfair to the guy who might get stuck with all the costs, emotional and financial, of raising a child who is not his, and to the guy who is the real father, and most of all, to the baby. Secrets have a way of coming out, and how would you tell your child later in life that you lied to him for all the years he was alive about something so important as who his father was? You can get a DNA test before the baby comes, but prenatal tests cost a boatload of money, and you really should test with both guys so you can be sure of the results. (One guy's yes backs up the other guy's no, and vice versa.) DNA tests after the baby arrives cost a tenth as much, and are admissible in court to prove paternity. So let's not hear any more about not testing. You made a bad decision to have unprotected sex with two men in the same cycle and very close together, that can't be changed. Don't compound your error by deciding not to do a DNA test, that is a much worse decision.