Você não pode usar as declarações preparadas assim. Ao declarar um espaço reservado, você evita fazer qualquer coisa relacionada neles, deixando isso para o espaço reservado valor definição. Então, por exemplo, você pode usá-lo assim:
$STH = $DBH->prepare("SELECT songs ,image ,artist,album,r_year
FROM english_fm
WHERE artist REGEXP :artist
GROUP BY artist order by slno");
$STH->bindValue(":artist" , "^[$artist]", PDO::PARAM_STR);