I think you should just remove all validation from the checkbox. The only bits you need to keep are the bits in blue below: The grey bits you don't need:
<div class="lineGroup">
<div class="fullColumnGroup">
<label for="Contact_WillAdamsPhoto_com_group_Get_updates_newsletter" class="sublabel" >Get updates/newsletter:<span class="requiredIndicator"> *</span></label>
<div class="errorGroup">
<div class="fieldPair">
<div class="fieldGroup"> <span id="Contact_WillAdamsPhoto_com_group_Get_updates_newsletter_Spry">
<label class="checklabel" for="Contact_WillAdamsPhoto_com_group_Get_updates_newsletter" onblur="hideServerError('Contact_WillAdamsPhoto_com_group_Get_updates_newsletter_ServerError');">
<input type="checkbox" name="Contact_WillAdamsPhoto_com_group_Get_updates_newsletter" id="Contact_WillAdamsPhoto_com_group_Get_updates_newsletter" value="1" class="formCheckboxField_Standard" checked="checked" tabindex="3" />
</label>
<span class="checkboxRequiredMsg"> </span> </span>
</div>
</div>
</div>
</div>
</div>
You should also remove the spry checkbox Validation widget from the bottom of the page:
var Contact_WillAdamsPhoto_com_group_Get_updates_newsletter_Spry = new Spry.Widget.ValidationCheckbox("Contact_WillAdamsPhoto_com_group_Get_updates_newsletter_Spry",{validateOn:["blur"]});//-->
If you have a WA server validation on your page referring to the checkbox, you will need to remove that too, it would be near the start of the page that look like:
$WAFV_Errors .= WAValidateRQ(((isset($_POST["Contact_WillAdamsPhoto_com_group_Get_updates_newsletter"]))?$_POST["Contact_WillAdamsPhoto_com_group_Get_updates_newsletter"]:"") . "",false,1);