Set posts_per_page in WP_Query for custom taxonomy

Your WP_Query is formed incorrectly. See WP_Query Taxonomy Parameters.

Try this code:

<?php
$post_type="page";
// Get all the taxonomies for this post type
$taxonomies = get_object_taxonomies($post_type); // names (default)
foreach( $taxonomies as $taxonomy ) : 
    // Gets every "category" (term) in this taxonomy to get the respective posts
    $terms = get_terms( $taxonomy ); 
    echo '<div id="activities_categories">';
    foreach( $terms as $term ) :
        $customposts = new WP_Query(
           array(
              'posts_per_page' => 1,
              'tax_query' => array(
                   array(
                       'taxonomy' => $taxonomy,
                       'terms' => $term->slug,
                       'field' => 'slug'
                   )
              )
           )
        );
        if( $customposts->have_posts() ):
            while( $customposts->have_posts() ) : $customposts->the_post();
                echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
            endwhile;
        endif;
    endforeach;
    echo '</div>';
endforeach;