Hi Hoang,
Though the workflow would have succeeded, the email would have not been sent if the conditions in the workflow was not met. By the workflow screenshot it looks like a real-time workflow, kindly convert the workflow to background workflow for time being so that we can analyze the related system job and understand if the condition is being met or not when the issue occurs.
You can convert the workflow to background by opening the workflow and then clicking on "Convert to a background workflow".

Once the above step is done, repro the scenario so that the required (non-working) condition is achieved. After repro, go to your workflow and then select "Process Sessions" to see the systems job that was created for the repro.

By the regarding field you can identify the system job that is associated with your record created for repro.

Once you open the associated record's system job, you can see if the conditions were met or not for your repro. If the condition is met, then you would see green check mark next the condition.
Here in below system job, condition 2 was met hence the email was triggered and there is a green check mark before the send email step.

Here in below scenario, none of the conditions were met, hence there is no green check mark next to any of the send email step. If this is the result that you see in your case, then you would need to check if the condition is achieved by the related record or alter the condition in the workflow accordingly.
