The function count_user_posts
only accepts a user ID so you arguments are never taken in consideration.
Here is a simple function to get the count by status
function count_user_posts_by_status($post_status="publish",$user_id = 0){
global $wpdb;
$count = $wpdb->get_var(
$wpdb->prepare(
"
SELECT COUNT(ID) FROM $wpdb->posts
WHERE post_status = %s
AND post_author = %d",
$post_status,
$user_id
)
);
return ($count) ? $count : 0;
}
Usage:
<?php echo count_user_posts_by_status('draft',$userID); ?>