Первый chmod не срабатывает, потому что у файла, к которому он применяется, указан не полный путь. Второй должен сработать, чисто теоретически. И не мешало бы выполнять chmod после move_file_upload.
Вы сначала генерируете путь и имя файла, потом используете chmod, а потом уже перемещаете в это место файл.
По хорошему нужно всегда включать error_reporting(-1); при разработке, в вашем случаи обязательно.