You'll encourage more help from others if you follow the instructions at "How to report an issue". When you report an issue to the Jenkins project, you're trying to persuade those who read the issue that they should spend their time to understand your issue and respond to your issue. Posting a large block of unformatted pipeline code and saying
When using when expression, multibranch pipeline does not skip the condition but executes the stage
is much less likely to persuade people to help you than if you submit a minimal sample that illustrates your specific concern.
In this case,I see that you're using two when clauses in the pipeline. One of them uses a single expression. The other uses two expressions, but I believe one of the two expressions (branch: "**"" will always be true. If one of the two expressions is always true, then the result of the when will be the value of the other expression. The conditions for when must all be true for the step to be executed, per the declarative pipeline documentation.
You'll need to provide more details and a more precise example of the problem before others are likely to assist.