The reason your query is failing is because you are trying to reference your variables in a string created with apostrophes, this only works with double quotes!
$myvar = 1234;
$q1 = 'myvar = $myvar'; // myvar = $myvar
$q2 = "myvar = $myvar"; // myvar = 1234
You should also prepare the query properlyas in the PHP docs.
$date = new \Datetime(date('d-m-Y'));
$date->add(DateInterval::createFromDateString('- 2 day'));
$date = $date->format('Y-m-d');
$stmt = $pdo->prepare("SELECT company.id as id, email, first_name, last_name, slug FROM company WHERE created < :date AND reminder = :reminder");
$stmt->execute([':date' => $date, ':reminder' => 0]);
$result = $stmt->fetchAll();
By using prepared statements like this, you are protected against SQL injection because the query isn't parsed in the same way.