Iterating field values and using output in ArcMap ModelBuilder
This is not exactly the answer you are looking for, but you could use "pivot table" to do what you want.
Concerning ModelBuilder problem, take a look at the type of input. For instance, you will not be able to create a field based on a value that is not of type "text", and some characters are not allowed in the name of the fields (depending on the type of output data)
Using Python, you can use the search cursor
import arcpy
rows = arcpy.SearchCursor(yourfeatureclass)
for row in rows:
try:
arcpy.AddField_management(yourfeatureclass, str(row.getValue("yourfield"), "LONG")
except:
print "field already exists"