How to iterate over Reminders using AppleScript
Your understanding seems on point, apart from two small items.  As you already know, notCompleted contains a list of reminders that are not completed.  The variable currentReminder in each iteration of the repeat loop will therefore contain a single reminder object.  Therefore, firstly, you don't need to (or rather, you ought not to) use the reminder specifier in name of reminder currentReminder.  Instead, just use name of currentReminder.

This doesn't entirely solve the issue as the name of currentReminder is returned in a partially de-referenced format (which is something I won't go in to here, but is a consequence of how the items are enumerated under the hood).  This means that to access the actual text data, you either have to coerce it to text like so:

display dialog (name of currentReminder as text)


or use the get command, which basically does the same thing:

display dialog (get name of currentReminder)


So it's nothing that you're doing wrong in a strict sense, just quirks of AppleScript.