SQL Server Database Mail - Why can't I run an execute against xp_sysmail_activate?
You aren't the one getting the error, the activated stored procedure is.  That procedure is running under a different account than yours.

By default that procedure will run as what ever account is setup as the dbo of the msdb database, unless someone changed it of course.  Best guess is that the account which is dbo of the msdb database isn't a member of the sysadmin fixed server role, or the activation principal of that queue has been changed (querying sys.service_queues will tell you this).