Sorry, don’t know anything to help with the second question.
As for the first
$molecule_month = get_the_terms($motd->ID , 'molecules_of_the_month' );
You need to check the returned value to make sure that it is not empty, that it is not a WP error and that it is an array.