NonClustered Index not being Used
You can force SQL Server to use the nonclustered index:
SELECT Code, Name, ModifiedDate 
FROM   dbo.TestIndexSample WITH(INDEX (IX_TestIndexSample_Name))
WHERE  Name = 'NAME10';


dbfiddle here, plan here
Without the hint the query optimizer considers the plan with the index more costly for this small amount of data, but you can get this plan by increasing the number of rows in your table. I managed to achieve it with 600 rows:
SELECT Code, Name, ModifiedDate 
FROM   dbo.TestIndexSample 
WHERE  Name = 'NAME10';

dbfiddle here
If you want to get just the Index Seek, your query should return only Name, so that data is pulled only from the index.
SELECT Name 
FROM   dbo.TestIndexSample  
WHERE  Name = 'NAME10';


dbfiddle here, plan here
But if other columns need to be returned too, you could use a covering index:
CREATE NONCLUSTERED INDEX IX_TestIndexSample_Name  
    ON dbo.TestIndexSample(Name) INCLUDE (Code, ModifiedDate);

Obviously the index size will increase, but nothing important for this number of rows.
Now your current query will use an Index Seek:
SELECT Code, Name, ModifiedDate 
FROM   dbo.TestIndexSample 
WHERE  Name = 'NAME10';


dbfiddle here, plan here