So, if there are two separate images and two separate actions profile.like and profile.recentpurchase then you can create two different XT activities. Top image may for example focus on profile.like and the bottom image should focus on profile.recentpurchase and in absence of recentpurchase, fall back to profile.like again.
The two images on site should obviously have diff id or class name else you might see same offer getting applied to both the images.
There might be other better ways to achieve the same.
In this article - Switching Experiences in Experience Targeting - it states "Priority is controlled by the order of experiences, top to bottom. If a visitor qualifies for more than two audiences, he or she receives content from the higher priority experience." This would explain why only one of the two experiences is being shown when the visitors qualifies for both.
Reading Siddharth's answer, he is suggesting making two Experience Targeting tests. One of the Experience Targeting tests would address showing the profile.like image and the other one would address showing the profile.recentPurchase image. Depending on the values of these two variables, the visitor would qualify for neither test, one of the tests, or both of the tests (by having the two images as separate Experience tests, the priority mentioned above won't be a factor anymore).
Another way to approach it may be wrapping mboxes around the locations that need to change based on the visitor's behavior. Here's an article from Adobe about doing this Wrapping Mboxes
If you are creating two different activities (VEC) for two diff images, then I suspect that the image might be having the same element id or class and hence, both the images are being identified as same in both the activities.
Please go into the Code Editor and go into the Modifications tab in both the activities (in using VEC) and see if the selector for both the images is same or different? If same then that's the issue.