Right, that's because the example creates just creates new structure each time. If you want to preserve the values, you need to grab the existing structure from the cookie (if one exists)
<!--- store values in cookie --->
<cfset ratings = {} >
<cfif structKeyExists(COOKIE, "artRate")>
<cfset ratings = deserializeJSON(COOKIE.artRate)>
</cfif>
Then add any new values to the existing structure, and save it back to the cookie
<cfset ratings[articleID] = rate>
<CFCOOKIE name="artrate" value="#serializeJSON(ratings)#" expires="never">