This is not a bug, its normal picking in C2. When the red square overlap the blue squares it picks all blue squares that meets the conditions in the case as you overlap both it picks both of them and then execute the code, so the counter should be 1 as you write.
Since you are working with several blue squares you have to add a "For each Blue square" to the condition, then it will count them separately and the counter will be 2 when you overlap both.