Your question is more about SQL than WordPress.
If you want to sort your term names as numbers, you can in general try
SELECT * FROM wp_terms ORDER BY name+0 ASC
or
SELECT * FROM wp_terms ORDER BY name*1 ASC
or use CAST:
SELECT * FROM wp_terms ORDER BY CAST(name AS SIGNED) ASC
where you can use SIGNED, UNSIGNED or maybe DECIMAL(10,2), just depending on your numbers.
Update
To test the ordering you can then visit your PHPMyAdmin and run this query:
SELECT tool_terms.name AS tname, tool_posts.* FROM tool_posts
LEFT OUTER JOIN tool_term_relationships ON tool_posts.ID=tool_term_relationships.object_id
LEFT OUTER JOIN tool_term_taxonomy USING (term_taxonomy_id)
LEFT OUTER JOIN tool_terms USING (term_id)
WHERE 1=1
AND tool_posts.post_type="landschapselement"
AND (tool_posts.post_status="publish" OR tool_posts.post_status="draft" OR tool_posts.post_status="pending" OR tool_posts.post_status="private")
AND (taxonomy = 'beheerseenheidnummer' OR taxonomy IS NULL)
GROUP BY object_id
ORDER BY tool_terms.name+0 ASC, tool_posts.post_title ASC
to see if it works where I replaced
ORDER BY GROUP_CONCAT(tool_terms.name ORDER BY name ASC) ASC
with
ORDER BY tool_terms.name+0 ASC, tool_posts.post_title ASC
where we order the posts by the taxonomy numeric value, and then the second order is on the post title. I also added the field tool_terms.name AS tname to the SELECT part. This works on my install.
You can also try to replace
$clauses['orderby'] = "GROUP_CONCAT({$wpdb->terms}.name ORDER BY name ASC) ";
$clauses['orderby'] .= ( 'DESC' == strtoupper( $wp_query->get('order') ) ) ? 'ASC' : 'DESC';
with:
$clauses['orderby'] = " {$wpdb->terms}.name+0 ";
$clauses['orderby'] .= ( 'DESC' == strtoupper( $wp_query->get('order') ) ) ? 'ASC' : 'DESC';
$clauses['orderby'] = ", {$wpdb->posts}.post_title ASC ";