стиличтически код гавно полное
У тебя там несколько действий происходит, оставь только тот код, который выдаёт неправильный результат и покажи на его примере что не так
при второй проверке уже с правильными данными fs.access(__dirname+'/public/'+url, fs.constants.F_OK, function(err){
bool= err ? false : true;
}) выдает bool =false