Integrated Security Success on Master, Fails on Other Database
In SQL Server, as long as a LOGIN is valid, it will have access to the master database in a public role.  This is both for historical and practical reasons.  For example, stored procedures beginning with "sp_" are searched first in the master database and will execute from there.  The implication is that users need to first have access to the master database to begin with.  tempdb is another database that allows user access via the public role.

User databases do not have this as a default setup, so unless the Login is specifically given permission, or has server-wide roles such as "sysadmin", it will not be able to switch to the database context, hence your error.

The fact that you manage to log in at all using the machine account means that it is either explicitly a created LOGIN, or is a member of a group that appears under "Logins" when you browse the Object Explorer in SQL Server Management Studio.

[SERVER\Instance]
    Security
        Logins
             .... here ....


You can specifically assign roles or grant execute permissions to the machine account:

use other;
exec sp_addrolemember db_datareader, [DOMAIN\IIS_SERVERNAME$]
GRANT EXECUTE ON sp_myproc TO [DOMAIN\IIS_SERVERNAME$]