One case worth knowing about because it is not your fault and no amount of checking your own zone will find it: the break can be above you.
If the operator of your top-level domain has a problem with their signing, every domain under it fails validation at once while each individual zone is perfectly correct. It looks exactly like your problem.
The tell is that the debugging chain shows the break at the parent rather than at your zone, and that other domains under the same suffix fail identically. If you find that, there is nothing to fix on your side — the answer is to wait, and meanwhile to get a certificate by a route that does not depend on the broken lookup.
Which is the practical workaround for any of this: if HTTP validation is available to you, it does not need the authority to resolve anything beyond your address, so it can succeed while a DNS-based challenge cannot.