Membership report showing different status than membership dashboard
You've found a bug! I've confirmed it and reported it here: https://issues.civicrm.org/jira/browse/CRM-19855

Most folks don't change the names of the CiviCRM membership statuses, so this has slipped under the radar for a while.  Internally, membership statuses have both a "Name" and a "Label".  The vast majority of the time, they're the same.  In your case, they're different.

The fix for NEW reports is easy - you literally need to change a single word in the report file.  I'll put instructions below.

Since this was so quick, I had intended to write a patch pro-bono to submit to the CiviCRM core team so this could be fixed for everyone - but in testing I found that this change causes the "Membership Status" field to fall off of existing saved reports.  Fixing this properly means writing an upgrade script, which I unfortunately don't have pro-bono time for.

You can fix this on your own copy of CiviCRM, but until this is fixed in the "upstream" software, you'll have to fix it every time you upgrade.

To fix this:


Find CiviCRM on your web server.
From your CiviCRM root, go to the CRM/Report/Form/Member folder.
In that folder are the files that control the reports.  Open the file that corresponds to the report you want to change with a text editor.
in the $fields array, you'll find an entry for Membership Status.  It will look something like this:

'civicrm_membership_status' =&gt; array(
  'dao' =&gt; 'CRM_Member_DAO_MembershipStatus',
  'alias' =&gt; 'mem_status',
  'fields' =&gt; array(
    'name' =&gt; array(
      'title' =&gt; ts('Status'),
      'default' =&gt; TRUE,
    ),
  ),
  'filters' =&gt; array(
    'sid' =&gt; array(
      'name' =&gt; 'id',
      'title' =&gt; ts('Status'),
      'type' =&gt; CRM_Utils_Type::T_INT,
      'operatorType' =&gt; CRM_Report_Form::OP_MULTISELECT,
      'options' =&gt; CRM_Member_PseudoConstant::membershipStatus(NULL, NULL, 'label'),
    ),
  ),
  'grouping' =&gt; 'member-fields',
),



Take this line:

'name' =&gt; array(


Change "name" to read "label":

'label =&gt; array(


This will fix your reports!  Don't forget to re-add the "Status" field to existing saved reports, and don't forget to make this fix on every upgrade until someone steps forward with time or money to fix this.
UPDATE: For the Membership Contribution report, find this section:

  'civicrm_membership_status' =&gt; array(
    'dao' =&gt; 'CRM_Member_DAO_MembershipStatus',
    'alias' =&gt; 'mem_status',
    'fields' =&gt; array(
      'membership_status_name' =&gt; array(
        'name' =&gt; 'name',
        'title' =&gt; ts('Membership Status'),
        'default' =&gt; TRUE,
      ),  
    ),


change:

'name' =&gt; 'name',


to

'name' =&gt; 'label',