If you're trying to write every value contained in the list to all n files, then you could just iterate through the file-writing commands, f.write() below, using a for loop. You're only going to write to each file once, so no need to worry about open()'s 'a' or 'w+' modes. Then you could print all elements of the list to each file using the str.join() method. I've used newline as the delimiter below, but you could choose anything.
Here's how I changed your code to do this...
value = ['a','b','c']
for i in range(len(value)):
with open("new_%d.txt" % i, 'w') as f:
f.write('\n'.join(value))
Notice also the use of with to open each file. This is recommended best practice in python as it deals with clean-up of the file object that you create with open(). That is, you don't need to explicitly close the file after your done with f.close(), which can be easy to forget.
If you are set on starting with new_1.txt (versus new_0.txt, which is what will happen with the above code) then change the call to for to something like this:
for i in range(1,len(value)+1):
or change the call to with to:
with open("new_%d.txt" % (i+1), 'w') as f: