Why do we add NO_TRUNCATE and NORECOVERY options while taking tail log Backup?
According to Tail-Log Backups (SQL Server) - (highlighting mine)


  
  If the database is online and you plan to perform a restore operation on the database, begin by backing up the tail of the log. To
  avoid an error for an online database, you must use the ... WITH
  NORECOVERY option of the BACKUP Transact-SQL statement.
  If a database is offline and fails to start and you need to restore the database, first back up the tail of the log. Because no
  transactions can occur at this time, using the WITH NORECOVERY is
  optional.
  


According to SQL Server expert Paul Randal regarding Disaster recovery 101: backing up the tail of the log


  Use the NO_TRUNCATE option, which allows the log backup even if the
  database files aren’t there


In your case, the required database files do not exist which would require you to use NO_TRUNCATE