The server principal "loginname" is not able to access the database "SSISDB" under the current security context
"EXECUTE AS" works by default only within one database.

You can overcome this by enabling cross-database ownership chaining. But this implies security issues!

Please have a look at books online: https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/enabling-cross-database-access-in-sql-server

An alternative solution is to move the calling procedure into the SSIS database and grant the VB script user execution permission on that particular procedure. Within that procedure you can then use "EXECUTE AS" to call the second procedure with the privileges needed.