on setTags:tagList forPath:posixPath -- set the tags, replacing any existing tags
This could be written as "on setTagsForPath(tagList, posixPath)", but the interleaved syntax matters when you talk to Cocoa objects -- it roughly matches Objective-C syntax.
set aURL to current application's |NSURL|'s fileURLWithPath:posixPath -- make URL
The Cocoa class used to refer to files is NSURL, and the pipes around it are because unfortunately there's a clash with the term in a scripting addition. So here I'm telling the NSURL class -- you address a class by preceding the name with "current application's" -- to make an NSURL object from the path I'm passing. You call the Cocoa equivalent of commands -- called methods -- as if you are calling a handler.
aURL's setResourceValue:tagList forKey:(current application's NSURLTagNamesKey) |error|:(missing value)
The various properties of a file -- size, modification date, whether it's a package or directory, etc, etc -- are referred to as resource values, and you set them using the setResourceValue:ForKey:error:. If you look up the documentation for this -- which you can do on the Web, or by downloading Xcode -- you will see that the first parameter is an array of strings, which means you can pass a list of strings; ASObjC will convert it to an array for you. The key is a bit like an enumeration, and again you signify this by using "current application's". We don't care about errors in this case, so we pass missing value.
And you can always ask questions here: that's what the list is for.
Having missed two major releases, I wouldn't hold my breath. In the meantime, for this -- and several other Finder sore points -- we at least now have a reasonable alternative.