I am completely open regarding how to do that:

I've the road:

echo implode(', ',get_field('categories'));

That is outputting this:

Branding, Web, Print

I've 20 approximately options it may output based on what checkboxes were ticked.

Right now, how it is outputting is simply plain text. How do i make each tag a hyperlink? The hyperlink will have to be unique per tag so:

<a href="tags/design/branding">Branding</a>, <a href="tags/design/web">Web</a>, <a href="tags/marketing/print">print</a> 

UPDATE: This is exactly what I've working presently, it's slightly dissimilar to your's however it's exactly the same problem of the inability to differentiate between your design or marketing link, here's the test page:

                    <?php
$categories = get_field('categories');
$elements = array();
foreach($categories as $category) {
    //do something
    $elements[] = '<a href="/tags/design/' . strtolower($category) . '" title="' . $category . '">' . $category .'</a>';
}
echo implode(',', $elements);
?>

I believe this can be used:

    $field_array = get_field('categories'); //get_field() return an array
    foreach ($field_array as $single){      //for each term of the array
       $categorie_slug = sanitize_title($single);   // clean the title from space, uppercase ...
       echo '<a href="tags/design/'.$categorie_slug.'">'.$single.'</a>';
    }

If you are using fundamental wordpress tags, make use of this:

$field_array = get_the_tags();  // get all tags
foreach ($field_array as $single){      //for each term of the array
   echo get_tag_link($single->term_id);
}

This produces the hyperlinks:

<?php
$categories = get_field('categories');
$elements = array();
foreach($categories as $category) {
    //do something
    $elements[] = '<a href="' . $url . '" title="' . $title . '">' . $name .'</a>';
}
echo implode(',', $elements);
?>