Replace Yoast og:image in single custom post type

This happens because add_action do not override previos actions, just “adds” to them. You will most likely need to search in the plugin’s code to find how it hooks its own og:image output. If it is not hardcoded but uses the same action, you will just need to call remove_action with the same parameters as those it was registers with.

The gotcha is that you have to do it at a point in the execution flow which is after the plugin had already before the action is “run” (duh).
IIRC the code below should work for that (but I personally dislike doing things this way, as essentially you are modifying a list while iterating it which is not the most robust idea even if it works)

add_action('wpseo_opengraph', function () { remove_action('wpseo_opengraph'...) }, 0);