One suggestion:
For both of these issues, it is possible that you've done a copy and paste of the shortcode from a webpage into the WordPress visual editor. When this happens hidden html code, such span tags, can be carried along in the pasted content. This will result in some or all of your shortcode definition not being processed, even though visually it is correct.
To check for this, switch to Text mode in the editor and the html will be revealed. Alternately, delete what is there and re-type the full shortcode by hand.