Attachment added through hook_mail_alter() is making no effect
If you're not already using it, I think you need MIME Mail or something similar to handle attachments, and when you do, your attachment needs to be added as an array of arrays rather than an array.
This is what the README file says.

You can use the following optional parameters to build the e-mail:

'plain': Boolean, whether to send messages in plaintext-only (optional, default is FALSE).
'plaintext': Plaintext portion of a multipart e-mail (optional).
'attachments': Array of arrays with the path or content, name and MIME type of the file (optional).
'headers': A keyed array with headers (optional).