Это потому, что «первая суббота» рассчитывается из указанной даты. Если данная дата уже является субботой, рассчитывается следующая.
Если вам нужна первая суббота определенного месяца, выполните:
$stamp = time();
$tm = localtime($stamp, TRUE);
// +1 to account for the offset, +2 for "+2 month"
$begin = mktime(0, 0, 0, $tm['tm_mon'] + 1 + 2, 1, 1900 + $tm['tm_year']);
if (6 == $begin['tm_wday']) {
// we already got the saturday
$first_saturday = $stamp;
} else {
$first_saturday = strtotime('first saturday', $begin);
}