"-u spam" when passed to spamass-milter says: Extract the recipient
name from the incoming email and pass that to spamc with -u. If there
are multiple recipients, use the user "spam" .
So that log entry shows that an incoming email was addressed to a
"address@hidden", spamass-milter extracted the username and passed
it to spamc, but the server running spamd doesn't recognize that
username.
If you add the "-d rcpt" flag to spamass-milter, it will write some
more entries in /var/log/maillog explaining its actions.
If you want the milter itself to run as a particular userid, you'll
have to su to that user before launching it. Something like
su spam -c spamass-milter blah blah
Also make sure that that user has enough rights to create the milter
socket.