Warning Notice $wpdb->prepare incorrect number of arguments passed

Numbered placeholders don’t work as you’d expect, and are going to be removed altogether at some point in the future, so should be considered invalid syntax.

So with this in mind, the error describes the problem- your query has 7 placeholders, but you only pass 4 values. For the repeated values, you just need to repeat them where you pass the substitutions.